diff --git a/src/mgxs_header.F90 b/src/mgxs_header.F90 index 862b11604b..a26e16e5f0 100644 --- a/src/mgxs_header.F90 +++ b/src/mgxs_header.F90 @@ -64,6 +64,7 @@ module mgxs_header ! Fission information logical :: fissionable ! mgxs object is fissionable? integer :: scatter_format ! either legendre, histogram, or tabular. + integer :: num_delayed_groups ! Num delayed groups ! Caching information integer :: index_temp ! temperature index for nuclide @@ -445,6 +446,9 @@ module mgxs_header call mgxs_from_hdf5(this, xs_id, temperature, method, tolerance, & temps_to_read, order_dim) + ! Set the number of delayed groups + this % num_delayed_groups = delayed_groups + ! Load the more specific data do t = 1, temps_to_read % size() associate(xs => this % xs(t)) @@ -1218,6 +1222,9 @@ module mgxs_header call mgxs_from_hdf5(this, xs_id, temperature, method, tolerance, & temps_to_read, order_dim) + ! Set the number of delayed groups + this % num_delayed_groups = delayed_groups + ! Load the more specific data do t = 1, temps_to_read % size() associate(xs => this % xs(t)) @@ -1702,7 +1709,7 @@ module mgxs_header ! If beta is zeros, raise error if (temp_beta(1,1,1,1) == ZERO) then - call fatal_error("cannot set delayed-nu-fission with a 1D & + call fatal_error("cannot set delayed-nu-fission with a 3D & &array if beta not provided") end if @@ -2231,6 +2238,7 @@ module mgxs_header this % name = trim(mat % name) end if + ! Set whether this material is fissionable this % fissionable = mat % fissionable ! The following info we should initialize, but we dont need it nor @@ -2364,6 +2372,9 @@ module mgxs_header call mgxs_combine(this, temps, mat, nuclides, max_order, scatter_format, & order_dim) + ! Set the number of delayed groups + this % num_delayed_groups = delayed_groups + ! Create the Xs Data for each temperature TEMP_LOOP: do t = 1, temps % size() @@ -2663,6 +2674,9 @@ module mgxs_header call mgxs_combine(this, temps, mat, nuclides, max_order, scatter_format, & order_dim) + ! Set the number of delayed groups + this % num_delayed_groups = delayed_groups + ! Get the number of each polar and azi angles and make sure all the ! NuclideAngle types have the same number of these angles n_pol = -1 @@ -3322,7 +3336,7 @@ module mgxs_header end do ! Adjust dg in case of round off error - dg = min(dg, num_delayed_groups) + dg = min(dg, this % num_delayed_groups) ! Get the outgoing group gout = 1 @@ -3376,7 +3390,7 @@ module mgxs_header ! Get the delayed group dg = 0 - do while (xi_pd < prob_prompt) + do while (xi_pd >= prob_prompt) dg = dg + 1 prob_prompt = prob_prompt + & this % get_xs('delayed-nu-fission', gin, uvw=uvw, dg=dg) / & @@ -3384,7 +3398,7 @@ module mgxs_header end do ! Adjust dg in case of round off error - dg = min(dg, num_delayed_groups) + dg = min(dg, this % num_delayed_groups) ! Get the outgoing group gout = 1 diff --git a/tests/1d_mgxs.h5 b/tests/1d_mgxs.h5 index 5989962ce0..e3b85c2416 100644 Binary files a/tests/1d_mgxs.h5 and b/tests/1d_mgxs.h5 differ diff --git a/tests/test_mg_basic/results_true.dat b/tests/test_mg_basic/results_true.dat index 656c39347d..2192c3746d 100644 --- a/tests/test_mg_basic/results_true.dat +++ b/tests/test_mg_basic/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.086853E+00 2.677280E-02 +1.086852E+00 2.677280E-02 diff --git a/tests/test_mg_nuclide/results_true.dat b/tests/test_mg_nuclide/results_true.dat index 656c39347d..2192c3746d 100644 --- a/tests/test_mg_nuclide/results_true.dat +++ b/tests/test_mg_nuclide/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.086853E+00 2.677280E-02 +1.086852E+00 2.677280E-02 diff --git a/tests/test_mg_tallies/results_true.dat b/tests/test_mg_tallies/results_true.dat index bc6ee3d924..a765c0ba02 100644 --- a/tests/test_mg_tallies/results_true.dat +++ b/tests/test_mg_tallies/results_true.dat @@ -1 +1 @@ -1edf0c3e5557b2f480bca714e85f4503ae25ee055fb6b9a6ebdfa917200f0a20bd31925ef66f859ff3cf3476f7a899b802bab7431f706a08f5f2a7cfa35130c1 \ No newline at end of file +3d2ce1b8bdd558fe9f8560e8bb91455e1fedd80a47349344399e22f5b0fac1391f1721e7f12a42bb0c458fd6c87ebf9fa38fe9539fcf69292b21cebf8e5f8989 \ No newline at end of file