Skip to content

Commit b1e6ab1

Browse files
authored
Merge branch 'development' into robustify_breakout_eos
2 parents d306597 + bc1ccfa commit b1e6ab1

26 files changed

+1683
-1268
lines changed

networks/CNO_He_burn/CNO_He_burn.png

289 Bytes
Loading

networks/CNO_He_burn/Make.package

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE)
55
CEXE_headers += actual_network.H
66
CEXE_headers += tfactors.H
77
CEXE_headers += partition_functions.H
8+
CEXE_sources += partition_functions_data.cpp
89
CEXE_headers += actual_rhs.H
910
CEXE_headers += reaclib_rates.H
1011
CEXE_headers += table_rates.H

networks/CNO_He_burn/actual_network.H

+32-32
Original file line numberDiff line numberDiff line change
@@ -30,100 +30,100 @@ namespace network
3030
return 0.0_rt;
3131
}
3232
else if constexpr (spec == He4) {
33-
return 28.29566_rt;
33+
return 28.295662457999697_rt;
3434
}
3535
else if constexpr (spec == C12) {
36-
return 92.16172800000001_rt;
36+
return 92.16173498399803_rt;
3737
}
3838
else if constexpr (spec == C13) {
39-
return 97.108037_rt;
39+
return 97.10804378399916_rt;
4040
}
4141
else if constexpr (spec == N13) {
42-
return 94.105219_rt;
42+
return 94.10522604799917_rt;
4343
}
4444
else if constexpr (spec == N14) {
45-
return 104.65859599999999_rt;
45+
return 104.65860734799753_rt;
4646
}
4747
else if constexpr (spec == N15) {
48-
return 115.4919_rt;
48+
return 115.49190414799887_rt;
4949
}
5050
else if constexpr (spec == O14) {
51-
return 98.731892_rt;
51+
return 98.73189611199996_rt;
5252
}
5353
else if constexpr (spec == O15) {
54-
return 111.95538_rt;
54+
return 111.95539521199862_rt;
5555
}
5656
else if constexpr (spec == O16) {
57-
return 127.619296_rt;
57+
return 127.6193154119992_rt;
5858
}
5959
else if constexpr (spec == O17) {
60-
return 131.76237600000002_rt;
60+
return 131.76239561199873_rt;
6161
}
6262
else if constexpr (spec == O18) {
63-
return 139.807746_rt;
63+
return 139.8077658120019_rt;
6464
}
6565
else if constexpr (spec == F17) {
66-
return 128.21957600000002_rt;
66+
return 128.21958437599824_rt;
6767
}
6868
else if constexpr (spec == F18) {
69-
return 137.369484_rt;
69+
return 137.36950247599816_rt;
7070
}
7171
else if constexpr (spec == F19) {
72-
return 147.801342_rt;
72+
return 147.80136567599766_rt;
7373
}
7474
else if constexpr (spec == Ne18) {
75-
return 132.142626_rt;
75+
return 132.14265544000227_rt;
7676
}
7777
else if constexpr (spec == Ne19) {
78-
return 143.779517_rt;
78+
return 143.7795235400008_rt;
7979
}
8080
else if constexpr (spec == Ne20) {
81-
return 160.6448_rt;
81+
return 160.64482384000075_rt;
8282
}
8383
else if constexpr (spec == Ne21) {
84-
return 167.405973_rt;
84+
return 167.40598973999658_rt;
8585
}
8686
else if constexpr (spec == Na22) {
87-
return 174.144674_rt;
87+
return 174.14457080400098_rt;
8888
}
8989
else if constexpr (spec == Na23) {
90-
return 186.56433900000002_rt;
90+
return 186.56435240400242_rt;
9191
}
9292
else if constexpr (spec == Mg22) {
93-
return 168.58074200000001_rt;
93+
return 168.58082376800303_rt;
9494
}
9595
else if constexpr (spec == Mg24) {
96-
return 198.25701600000002_rt;
96+
return 198.2570479679962_rt;
9797
}
9898
else if constexpr (spec == Al27) {
99-
return 224.951931_rt;
99+
return 224.95193723199915_rt;
100100
}
101101
else if constexpr (spec == Si28) {
102-
return 236.536832_rt;
102+
return 236.53684539599638_rt;
103103
}
104104
else if constexpr (spec == P31) {
105-
return 262.91617699999995_rt;
105+
return 262.9161999600037_rt;
106106
}
107107
else if constexpr (spec == S32) {
108-
return 271.78012800000005_rt;
108+
return 271.78016372399725_rt;
109109
}
110110
else if constexpr (spec == Ar36) {
111-
return 306.716724_rt;
111+
return 306.7167469519991_rt;
112112
}
113113
else if constexpr (spec == Ca40) {
114-
return 342.05212000000006_rt;
114+
return 342.05218528000114_rt;
115115
}
116116
else if constexpr (spec == Ti44) {
117-
return 375.47488000000004_rt;
117+
return 375.47496160800074_rt;
118118
}
119119
else if constexpr (spec == Cr48) {
120-
return 411.46891200000005_rt;
120+
return 411.4679399359957_rt;
121121
}
122122
else if constexpr (spec == Fe52) {
123-
return 447.697848_rt;
123+
return 447.6996182639923_rt;
124124
}
125125
else if constexpr (spec == Ni56) {
126-
return 483.995624_rt;
126+
return 483.9956965919919_rt;
127127
}
128128

129129

networks/CNO_He_burn/partition_functions.H

+9-8
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,21 @@ namespace part_fun {
1717

1818
// interpolation routine
1919

20-
template <int npts>
20+
template <typename T>
2121
AMREX_GPU_HOST_DEVICE AMREX_INLINE
22-
void interpolate_pf(const amrex::Real t9, const amrex::Real (&temp_array)[npts], const amrex::Real (&pf_array)[npts],
22+
void interpolate_pf(const amrex::Real t9, const T& temp_array, const T& pf_array,
2323
amrex::Real& pf, amrex::Real& dpf_dT) {
2424

25-
if (t9 >= temp_array[0] && t9 < temp_array[npts-1]) {
25+
if (t9 >= temp_array.lo() && t9 < temp_array.hi()) {
2626

2727
// find the largest temperature element <= t9 using a binary search
2828

29-
int left = 0;
30-
int right = npts;
29+
int left = temp_array.lo();
30+
int right = temp_array.hi();
3131

3232
while (left < right) {
3333
int mid = (left + right) / 2;
34-
if (temp_array[mid] > t9) {
34+
if (temp_array(mid) > t9) {
3535
right = mid;
3636
} else {
3737
left = mid + 1;
@@ -44,11 +44,12 @@ namespace part_fun {
4444

4545
// construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i)
4646

47-
amrex::Real slope = (pf_array[idx+1] - pf_array[idx]) / (temp_array[idx+1] - temp_array[idx]);
47+
amrex::Real slope = (pf_array(idx+1) - pf_array(idx)) /
48+
(temp_array(idx+1) - temp_array(idx));
4849

4950
// find the PF
5051

51-
amrex::Real log10_pf = pf_array[idx] + slope * (t9 - temp_array[idx]);
52+
amrex::Real log10_pf = pf_array(idx) + slope * (t9 - temp_array(idx));
5253
pf = std::pow(10.0_rt, log10_pf);
5354

5455
// find the derivative (with respect to T, not T9)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#include <AMReX_Array.H>
2+
#include <string>
3+
#include <table_rates.H>
4+
#include <AMReX_Print.H>
5+
6+
#include <partition_functions.H>
7+
8+
using namespace amrex;
9+
10+
namespace part_fun {
11+
12+
13+
}
14+
-1.1 KB
Loading

networks/He-C-Fe-group/Make.package

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ ifeq ($(USE_REACT),TRUE)
55
CEXE_headers += actual_network.H
66
CEXE_headers += tfactors.H
77
CEXE_headers += partition_functions.H
8+
CEXE_sources += partition_functions_data.cpp
89
CEXE_headers += actual_rhs.H
910
CEXE_headers += reaclib_rates.H
1011
CEXE_headers += table_rates.H

networks/He-C-Fe-group/actual_network.H

+34-34
Original file line numberDiff line numberDiff line change
@@ -33,106 +33,106 @@ namespace network
3333
return 0.0_rt;
3434
}
3535
else if constexpr (spec == He4) {
36-
return 28.29566_rt;
36+
return 28.295662457999697_rt;
3737
}
3838
else if constexpr (spec == C12) {
39-
return 92.16172800000001_rt;
39+
return 92.16173498399803_rt;
4040
}
4141
else if constexpr (spec == N13) {
42-
return 94.105219_rt;
42+
return 94.10522604799917_rt;
4343
}
4444
else if constexpr (spec == N14) {
45-
return 104.65859599999999_rt;
45+
return 104.65860734799753_rt;
4646
}
4747
else if constexpr (spec == O16) {
48-
return 127.619296_rt;
48+
return 127.6193154119992_rt;
4949
}
5050
else if constexpr (spec == F18) {
51-
return 137.369484_rt;
51+
return 137.36950247599816_rt;
5252
}
5353
else if constexpr (spec == Ne20) {
54-
return 160.6448_rt;
54+
return 160.64482384000075_rt;
5555
}
5656
else if constexpr (spec == Ne21) {
57-
return 167.405973_rt;
57+
return 167.40598973999658_rt;
5858
}
5959
else if constexpr (spec == Na22) {
60-
return 174.144674_rt;
60+
return 174.14457080400098_rt;
6161
}
6262
else if constexpr (spec == Na23) {
63-
return 186.56433900000002_rt;
63+
return 186.56435240400242_rt;
6464
}
6565
else if constexpr (spec == Mg24) {
66-
return 198.25701600000002_rt;
66+
return 198.2570479679962_rt;
6767
}
6868
else if constexpr (spec == Al27) {
69-
return 224.951931_rt;
69+
return 224.95193723199915_rt;
7070
}
7171
else if constexpr (spec == Si28) {
72-
return 236.536832_rt;
72+
return 236.53684539599638_rt;
7373
}
7474
else if constexpr (spec == P31) {
75-
return 262.91617699999995_rt;
75+
return 262.9161999600037_rt;
7676
}
7777
else if constexpr (spec == S32) {
78-
return 271.78012800000005_rt;
78+
return 271.78016372399725_rt;
7979
}
8080
else if constexpr (spec == Ar36) {
81-
return 306.716724_rt;
81+
return 306.7167469519991_rt;
8282
}
8383
else if constexpr (spec == Ca40) {
84-
return 342.05212000000006_rt;
84+
return 342.05218528000114_rt;
8585
}
8686
else if constexpr (spec == Ti44) {
87-
return 375.47488000000004_rt;
87+
return 375.47496160800074_rt;
8888
}
8989
else if constexpr (spec == Cr48) {
90-
return 411.46891200000005_rt;
90+
return 411.4679399359957_rt;
9191
}
9292
else if constexpr (spec == Mn51) {
93-
return 440.32237200000003_rt;
93+
return 440.321747199996_rt;
9494
}
9595
else if constexpr (spec == Mn55) {
96-
return 482.07621_rt;
96+
return 482.07635959999607_rt;
9797
}
9898
else if constexpr (spec == Fe52) {
99-
return 447.697848_rt;
99+
return 447.6996182639923_rt;
100100
}
101101
else if constexpr (spec == Fe53) {
102-
return 458.386347_rt;
102+
return 458.38633636399754_rt;
103103
}
104104
else if constexpr (spec == Fe54) {
105-
return 471.76462799999996_rt;
105+
return 471.76475446399854_rt;
106106
}
107107
else if constexpr (spec == Fe55) {
108-
return 481.06272499999994_rt;
108+
return 481.06287256399816_rt;
109109
}
110110
else if constexpr (spec == Fe56) {
111-
return 492.2598239999999_rt;
111+
return 492.2599506639962_rt;
112112
}
113113
else if constexpr (spec == Co55) {
114-
return 476.82899_rt;
114+
return 476.82912552799826_rt;
115115
}
116116
else if constexpr (spec == Co56) {
117-
return 486.91081599999995_rt;
117+
return 486.91094362799777_rt;
118118
}
119119
else if constexpr (spec == Co57) {
120-
return 498.287274_rt;
120+
return 498.28746172798856_rt;
121121
}
122122
else if constexpr (spec == Ni56) {
123-
return 483.995624_rt;
123+
return 483.9956965919919_rt;
124124
}
125125
else if constexpr (spec == Ni57) {
126-
return 494.2431810000001_rt;
126+
return 494.2434146919986_rt;
127127
}
128128
else if constexpr (spec == Ni58) {
129-
return 506.45942199999996_rt;
129+
return 506.4596327920008_rt;
130130
}
131131
else if constexpr (spec == Cu59) {
132-
return 509.878_rt;
132+
return 509.8782038560021_rt;
133133
}
134134
else if constexpr (spec == Zn60) {
135-
return 514.983_rt;
135+
return 514.9831749199948_rt;
136136
}
137137

138138

networks/He-C-Fe-group/actual_network_data.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ namespace NSE_INDEX
9494
-1, -1, 26, -1, -1, 22, 89,
9595
-1, -1, 27, -1, -1, 29, -1,
9696
-1, -1, 22, -1, -1, 26, -1,
97-
-1, -1, 0, -1, -1, 1, -1,
97+
-1, -1, 0, -1, -1, 1, 93,
9898
-1, -1, 31, -1, -1, 29, 84,
9999
-1, -1, 32, -1, -1, 30, 85,
100100
-1, -1, 1, -1, -1, 0, -1,

networks/He-C-Fe-group/actual_rhs.H

+4-8
Original file line numberDiff line numberDiff line change
@@ -1468,12 +1468,10 @@ void get_ydot_weak(const burn_t& state,
14681468
auto screened_rates = rate_eval.screened_rates;
14691469

14701470
ydot_nuc(N) =
1471-
-screened_rates(k_n_to_p)*Y(N) +
1472-
screened_rates(k_p_to_n)*Y(H1);
1471+
(-screened_rates(k_n_to_p)*Y(N) + screened_rates(k_p_to_n)*Y(H1));
14731472

14741473
ydot_nuc(H1) =
1475-
screened_rates(k_n_to_p)*Y(N) +
1476-
-screened_rates(k_p_to_n)*Y(H1);
1474+
(screened_rates(k_n_to_p)*Y(N) + -screened_rates(k_p_to_n)*Y(H1));
14771475

14781476
ydot_nuc(He4) = 0.0_rt;
14791477

@@ -1585,8 +1583,7 @@ void rhs_nuc(const burn_t& state,
15851583
(-screened_rates(k_n_Ni58_to_He4_Fe55)*Y(Ni58)*Y(N)*state.rho + screened_rates(k_He4_Fe55_to_n_Ni58_derived)*Y(Fe55)*Y(He4)*state.rho) +
15861584
(-screened_rates(k_n_Cu59_to_He4_Co56)*Y(Cu59)*Y(N)*state.rho + screened_rates(k_He4_Co56_to_n_Cu59_derived)*Y(Co56)*Y(He4)*state.rho) +
15871585
(-screened_rates(k_n_Zn60_to_He4_Ni57)*Y(Zn60)*Y(N)*state.rho + screened_rates(k_He4_Ni57_to_n_Zn60_derived)*Y(He4)*Y(Ni57)*state.rho) +
1588-
-screened_rates(k_n_to_p)*Y(N) +
1589-
screened_rates(k_p_to_n)*Y(H1);
1586+
(-screened_rates(k_n_to_p)*Y(N) + screened_rates(k_p_to_n)*Y(H1));
15901587

15911588
ydot_nuc(H1) =
15921589
(-screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + screened_rates(k_N13_to_p_C12_derived)*Y(N13)) +
@@ -1624,8 +1621,7 @@ void rhs_nuc(const burn_t& state,
16241621
(-screened_rates(k_p_Co57_to_He4_Fe54)*Y(Co57)*Y(H1)*state.rho + screened_rates(k_He4_Fe54_to_p_Co57_derived)*Y(Fe54)*Y(He4)*state.rho) +
16251622
(screened_rates(k_n_Ni56_to_p_Co56)*Y(Ni56)*Y(N)*state.rho + -screened_rates(k_p_Co56_to_n_Ni56_derived)*Y(Co56)*Y(H1)*state.rho) +
16261623
(screened_rates(k_n_Ni57_to_p_Co57)*Y(Ni57)*Y(N)*state.rho + -screened_rates(k_p_Co57_to_n_Ni57_derived)*Y(Co57)*Y(H1)*state.rho) +
1627-
screened_rates(k_n_to_p)*Y(N) +
1628-
-screened_rates(k_p_to_n)*Y(H1);
1624+
(screened_rates(k_n_to_p)*Y(N) + -screened_rates(k_p_to_n)*Y(H1));
16291625

16301626
ydot_nuc(He4) =
16311627
(-screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + screened_rates(k_O16_to_He4_C12_derived)*Y(O16)) +

0 commit comments

Comments
 (0)