diff --git a/src/mgxs_header.F90 b/src/mgxs_header.F90 index 88c1b23e25..750a8df983 100644 --- a/src/mgxs_header.F90 +++ b/src/mgxs_header.F90 @@ -1485,8 +1485,13 @@ module mgxs_header nuc % scatter % energy(gin) % data(gout) mult_num(gout, gin) = mult_num(gout, gin) + atom_density * & nuscatt - mult_denom(gout, gin) = mult_denom(gout,gin) + atom_density * & - nuscatt / nuc % scatter % mult(gin) % data(gout) + if (nuc % scatter % mult(gin) % data(gout) > ZERO) then + mult_denom(gout, gin) = mult_denom(gout,gin) + atom_density * & + nuscatt / nuc % scatter % mult(gin) % data(gout) + else + ! Avoid division by zero + mult_denom(gout, gin) = mult_denom(gout,gin) + atom_density + end if end do end do @@ -1722,10 +1727,16 @@ module mgxs_header nuc % scatter(iazi, ipol) % obj % energy(gin) % data(gout) mult_num(gout, gin, iazi, ipol) = mult_num(gout, gin, iazi, ipol) + & atom_density * nuscatt - mult_denom(gout, gin, iazi, ipol) = & - mult_denom(gout, gin, iazi, ipol) + & - atom_density * nuscatt / & - nuc % scatter(iazi, ipol) % obj % mult(gin) % data(gout) + if (nuc % scatter(iazi, ipol) % obj % mult(gin) % data(gout) > ZERO) then + mult_denom(gout, gin, iazi, ipol) = & + mult_denom(gout, gin, iazi, ipol) + & + atom_density * nuscatt / & + nuc % scatter(iazi, ipol) % obj % mult(gin) % data(gout) + else + ! Avoid division by zero + mult_denom(gout, gin, iazi, ipol) = & + mult_denom(gout,gin, iazi, ipol) + atom_density + end if end do end do end do diff --git a/tests/run_tests.py b/tests/run_tests.py index c8eeeebddc..5a04f340a8 100755 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -474,7 +474,6 @@ for key in iter(tests): logfilename = os.path.splitext(logfilename)[0] logfilename = logfilename + '_{0}.log'.format(test.name) shutil.copy(logfile[0], logfilename) - with open(logfilename) as fh: print(fh.read()) # For coverage builds, use lcov to generate HTML output if test.coverage: diff --git a/tests/test_mgxs_library_ce_to_mg/inputs_true.dat b/tests/test_mgxs_library_ce_to_mg/inputs_true.dat index ad4b639655..55943bad44 100644 --- a/tests/test_mgxs_library_ce_to_mg/inputs_true.dat +++ b/tests/test_mgxs_library_ce_to_mg/inputs_true.dat @@ -1 +1 @@ -15355a90181bc3a8ba70bcc9a89beff2c240dc75abbf26c3e3b6a940c4ec2028b238422ac26af08863c24ce6fc16d48d249f17cd0bce53df0141138deccfc81a \ No newline at end of file +f6442195628d3e6acd714d1ac123310a8c463ce6e76de2149783e4d9f2485752b53155f78bd9ae5e886b5f4717ef7c66b71959344051ea7f53b79148d59fe609 \ No newline at end of file diff --git a/tests/test_mgxs_library_ce_to_mg/results_true.dat b/tests/test_mgxs_library_ce_to_mg/results_true.dat index 1152dd2cca..b1f8559427 100644 --- a/tests/test_mgxs_library_ce_to_mg/results_true.dat +++ b/tests/test_mgxs_library_ce_to_mg/results_true.dat @@ -1,2 +1,2 @@ k-combined: -1.017325E+00 3.827758E-02 +1.006931E+00 3.262911E-03 diff --git a/tests/test_mgxs_library_ce_to_mg/test_mgxs_library_ce_to_mg.py b/tests/test_mgxs_library_ce_to_mg/test_mgxs_library_ce_to_mg.py index 987d10ae05..17be8979e9 100644 --- a/tests/test_mgxs_library_ce_to_mg/test_mgxs_library_ce_to_mg.py +++ b/tests/test_mgxs_library_ce_to_mg/test_mgxs_library_ce_to_mg.py @@ -13,12 +13,19 @@ import openmc.mgxs class MGXSTestHarness(PyAPITestHarness): def _build_inputs(self): - # The openmc.mgxs module needs a summary.h5 file - self._input_set.settings.output = {'summary': True} - # Generate inputs using parent class routine super(MGXSTestHarness, self)._build_inputs() + # The openmc.mgxs module needs a summary.h5 file + self._input_set.settings.output = {'summary': True} + # Use a larger history count to get some scores in every material + self._input_set.settings.batches = 50 + self._input_set.settings.inactive = 10 + self._input_set.settings.particles = 1000 + self._sp_name = './statepoint.50.h5' + # Rewrite file + self._input_set.settings.export_to_xml() + # Initialize a two-group structure energy_groups = openmc.mgxs.EnergyGroups(group_edges=[0, 0.625e-6, 20.])