From a77c8eee4181fcae84d04133d4622f508b67ec27 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Wed, 29 Mar 2017 11:02:42 -0500 Subject: [PATCH] Extend xs_cdf to 0 to prevent potential out-of-bounds error --- src/input_xml.F90 | 3 ++- src/physics.F90 | 16 +++++----------- tests/test_resonance_scattering/results_true.dat | 2 +- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/input_xml.F90 b/src/input_xml.F90 index c42820bed3..9bf78324d7 100644 --- a/src/input_xml.F90 +++ b/src/input_xml.F90 @@ -5287,7 +5287,8 @@ contains ! Build CDF for 0K elastic scattering xs_cdf_sum = ZERO - allocate(nuc % xs_cdf(size(nuc % energy_0K))) + allocate(nuc % xs_cdf(0:size(nuc % energy_0K))) + nuc % xs_cdf(0) = ZERO associate (E => nuc % energy_0K, xs => nuc % elastic_0K) do j = 1, size(E) - 1 diff --git a/src/physics.F90 b/src/physics.F90 index d33ed18777..2a1970a67a 100644 --- a/src/physics.F90 +++ b/src/physics.F90 @@ -938,17 +938,11 @@ contains elseif (sampling_method == RES_SCAT_ARES) then ! interpolate xs CDF since we're not exactly at the energy indices ! cdf value at lower bound attainable energy - if (i_E_low > 1) then - m = (nuc % xs_cdf(i_E_low) - nuc % xs_cdf(i_E_low - 1)) & - / (nuc % energy_0K(i_E_low + 1) - nuc % energy_0K(i_E_low)) - cdf_low = nuc % xs_cdf(i_E_low - 1) & - + m * (E_low - nuc % energy_0K(i_E_low)) - else - m = nuc % xs_cdf(i_E_low) & - / (nuc % energy_0K(i_E_low + 1) - nuc % energy_0K(i_E_low)) - cdf_low = m * (E_low - nuc % energy_0K(i_E_low)) - if (E_low <= nuc % energy_0K(1)) cdf_low = ZERO - end if + m = (nuc % xs_cdf(i_E_low) - nuc % xs_cdf(i_E_low - 1)) & + / (nuc % energy_0K(i_E_low + 1) - nuc % energy_0K(i_E_low)) + cdf_low = nuc % xs_cdf(i_E_low - 1) & + + m * (E_low - nuc % energy_0K(i_E_low)) + if (E_low <= nuc % energy_0K(1)) cdf_low = ZERO ! cdf value at upper bound attainable energy m = (nuc % xs_cdf(i_E_up) - nuc % xs_cdf(i_E_up - 1)) & diff --git a/tests/test_resonance_scattering/results_true.dat b/tests/test_resonance_scattering/results_true.dat index 0db0e4a95a..d1437a42ab 100644 --- a/tests/test_resonance_scattering/results_true.dat +++ b/tests/test_resonance_scattering/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.441041E+00 8.832991E-03 +1.436406E+00 1.833812E-02