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 823e66a45..f2bedfdb8 100644 Binary files a/networks/CNO_extras/cno_extras.png and b/networks/CNO_extras/cno_extras.png differ diff --git a/networks/CNO_extras/cno_extras_hide_alpha.png b/networks/CNO_extras/cno_extras_hide_alpha.png index dc5560c7b..a69c41903 100644 Binary files a/networks/CNO_extras/cno_extras_hide_alpha.png and b/networks/CNO_extras/cno_extras_hide_alpha.png differ diff --git a/networks/CNO_extras/derived_rates.H b/networks/CNO_extras/derived_rates.H index 5f21ff3a7..703c1862a 100644 --- a/networks/CNO_extras/derived_rates.H +++ b/networks/CNO_extras/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_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 52369dea8..4a0a2f11c 100644 Binary files a/networks/ECSN/ECSN.png and b/networks/ECSN/ECSN.png differ 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 d8a00636c..937a35d1d 100644 Binary files a/networks/he-burn/ase-iron/ase-iron.png and b/networks/he-burn/ase-iron/ase-iron.png differ 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 45fe45d38..6bc036e78 100644 Binary files a/networks/he-burn/ase-test/ase_test.png and b/networks/he-burn/ase-test/ase_test.png differ 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 7e49601d7..c6725af3b 100644 Binary files a/networks/he-burn/ase/ase.png and b/networks/he-burn/ase/ase.png differ 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 52d52faa5..8383b77be 100644 Binary files a/networks/he-burn/cno-he-burn-33a/cno-he-burn-33a.png and b/networks/he-burn/cno-he-burn-33a/cno-he-burn-33a.png differ diff --git a/networks/he-burn/cno-he-burn-33a/derived_rates.H b/networks/he-burn/cno-he-burn-33a/derived_rates.H index 26cb0ff5c..2f4aea7c4 100644 --- a/networks/he-burn/cno-he-burn-33a/derived_rates.H +++ b/networks/he-burn/cno-he-burn-33a/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_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 69b8db987..e93edf5ed 100644 Binary files a/networks/he-burn/cno-he-burn-34am/cno-he-burn-34am.png and b/networks/he-burn/cno-he-burn-34am/cno-he-burn-34am.png differ diff --git a/networks/he-burn/cno-he-burn-34am/derived_rates.H b/networks/he-burn/cno-he-burn-34am/derived_rates.H index 97a2cc302..93d12e6b3 100644 --- a/networks/he-burn/cno-he-burn-34am/derived_rates.H +++ b/networks/he-burn/cno-he-burn-34am/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_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 2ab7e4575..e9ea509bd 100644 Binary files a/networks/he-burn/he-burn-19am/he-burn-19am.png and b/networks/he-burn/he-burn-19am/he-burn-19am.png differ diff --git a/networks/he-burn/he-burn-19am/pynucastro-info.txt b/networks/he-burn/he-burn-19am/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/he-burn-19am/pynucastro-info.txt +++ b/networks/he-burn/he-burn-19am/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-19am/reaclib_rates.H b/networks/he-burn/he-burn-19am/reaclib_rates.H index 48528fe99..d575e00df 100644 --- a/networks/he-burn/he-burn-19am/reaclib_rates.H +++ b/networks/he-burn/he-burn-19am/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_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 75a26ce4c..d2bb3cc72 100644 Binary files a/networks/he-burn/he-burn-28amnp/he-burn-28amnp-zoom.png and b/networks/he-burn/he-burn-28amnp/he-burn-28amnp-zoom.png differ 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 44910c3f3..cfc58d8db 100644 Binary files a/networks/he-burn/he-burn-28amnp/he-burn-28amnp.png and b/networks/he-burn/he-burn-28amnp/he-burn-28amnp.png differ 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 5652cf478..5f52d7789 100644 Binary files a/networks/he-burn/he-burn-33am/he-burn-33am-zoom.png and b/networks/he-burn/he-burn-33am/he-burn-33am-zoom.png differ diff --git a/networks/he-burn/he-burn-33am/he-burn-33am.png b/networks/he-burn/he-burn-33am/he-burn-33am.png index ff7bf3eb6..921d5d2b6 100644 Binary files a/networks/he-burn/he-burn-33am/he-burn-33am.png and b/networks/he-burn/he-burn-33am/he-burn-33am.png differ diff --git a/networks/he-burn/he-burn-33am/pynucastro-info.txt b/networks/he-burn/he-burn-33am/pynucastro-info.txt index e055581de..d601db92a 100644 --- a/networks/he-burn/he-burn-33am/pynucastro-info.txt +++ b/networks/he-burn/he-burn-33am/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-33am/reaclib_rates.H b/networks/he-burn/he-burn-33am/reaclib_rates.H index ff5ae851c..c7cf80769 100644 --- a/networks/he-burn/he-burn-33am/reaclib_rates.H +++ b/networks/he-burn/he-burn-33am/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_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 9dac468f2..9a3aa251d 100644 Binary files a/networks/ignition_reaclib/URCA-medium/urca_medium.png and b/networks/ignition_reaclib/URCA-medium/urca_medium.png differ 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 35d9089e5..ad160c991 100644 Binary files a/networks/nova-li/nova-li.png and b/networks/nova-li/nova-li.png differ 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 5963b45df..708781b12 100644 Binary files a/networks/nova/nova.png and b/networks/nova/nova.png differ 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; - } }