diff --git a/openmc/mgxs/mgxs.py b/openmc/mgxs/mgxs.py
index 5bc00cbc9..1d8ace282 100644
--- a/openmc/mgxs/mgxs.py
+++ b/openmc/mgxs/mgxs.py
@@ -4003,6 +4003,15 @@ class ScatterMatrixXS(MatrixMGXS):
correction.nuclides = scatter_p1.nuclides
self._xs_tally -= correction
+ # If the mu filter is before the group out filter swap them
+ if self.scatter_format == 'histogram':
+ tally = self._xs_tally
+ filt = tally.filters
+ eout_filter = tally.find_filter(openmc.EnergyoutFilter)
+ angle_filter = tally.find_filter(openmc.MuFilter)
+ if filt.index(eout_filter) > filt.index(angle_filter):
+ tally._swap_filters(eout_filter, angle_filter)
+
self._compute_xs()
return self._xs_tally
@@ -4466,6 +4475,7 @@ class ScatterMatrixXS(MatrixMGXS):
"""
+ print(self.xs_tally.filters)
df = super().get_pandas_dataframe(groups, nuclides, xs_type, paths)
if self.scatter_format == 'legendre':
diff --git a/tests/regression_tests/mgxs_library_correction/__init__.py b/tests/regression_tests/mgxs_library_correction/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/regression_tests/mgxs_library_correction/inputs_true.dat b/tests/regression_tests/mgxs_library_correction/inputs_true.dat
new file mode 100644
index 000000000..d9793bc3e
--- /dev/null
+++ b/tests/regression_tests/mgxs_library_correction/inputs_true.dat
@@ -0,0 +1,392 @@
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ eigenvalue
+ 100
+ 10
+ 5
+
+
+ -0.63 -0.63 -1 0.63 0.63 1
+
+
+
+
+
+
+ 1
+
+
+ 0.0 0.625 20000000.0
+
+
+ 0.0 0.625 20000000.0
+
+
+ 2
+
+
+ 3
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 3
+ total
+ scatter-0
+ analog
+
+
+ 1 3
+ total
+ scatter-1
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 1 3
+ total
+ nu-scatter-1
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 3
+ total
+ scatter-0
+ analog
+
+
+ 1 3
+ total
+ scatter-1
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 3
+ total
+ scatter-0
+ analog
+
+
+ 1 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 1 2 3
+ total
+ scatter-0
+ analog
+
+
+ 1 3
+ total
+ nu-scatter-1
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 13 2
+ total
+ flux
+ analog
+
+
+ 13 2 3
+ total
+ scatter-0
+ analog
+
+
+ 13 3
+ total
+ scatter-1
+ analog
+
+
+ 13 2
+ total
+ flux
+ analog
+
+
+ 13 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 13 3
+ total
+ nu-scatter-1
+ analog
+
+
+ 13 2
+ total
+ flux
+ tracklength
+
+
+ 13 2
+ total
+ scatter
+ tracklength
+
+
+ 13 2 3
+ total
+ scatter-0
+ analog
+
+
+ 13 3
+ total
+ scatter-1
+ analog
+
+
+ 13 2
+ total
+ flux
+ analog
+
+
+ 13 2
+ total
+ flux
+ tracklength
+
+
+ 13 2
+ total
+ scatter
+ tracklength
+
+
+ 13 2 3
+ total
+ scatter-0
+ analog
+
+
+ 13 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 13 2 3
+ total
+ scatter-0
+ analog
+
+
+ 13 3
+ total
+ nu-scatter-1
+ analog
+
+
+ 13 2
+ total
+ flux
+ analog
+
+
+ 25 2
+ total
+ flux
+ analog
+
+
+ 25 2 3
+ total
+ scatter-0
+ analog
+
+
+ 25 3
+ total
+ scatter-1
+ analog
+
+
+ 25 2
+ total
+ flux
+ analog
+
+
+ 25 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 25 3
+ total
+ nu-scatter-1
+ analog
+
+
+ 25 2
+ total
+ flux
+ tracklength
+
+
+ 25 2
+ total
+ scatter
+ tracklength
+
+
+ 25 2 3
+ total
+ scatter-0
+ analog
+
+
+ 25 3
+ total
+ scatter-1
+ analog
+
+
+ 25 2
+ total
+ flux
+ analog
+
+
+ 25 2
+ total
+ flux
+ tracklength
+
+
+ 25 2
+ total
+ scatter
+ tracklength
+
+
+ 25 2 3
+ total
+ scatter-0
+ analog
+
+
+ 25 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 25 2 3
+ total
+ scatter-0
+ analog
+
+
+ 25 3
+ total
+ nu-scatter-1
+ analog
+
+
+ 25 2
+ total
+ flux
+ analog
+
+
diff --git a/tests/regression_tests/mgxs_library_correction/results_true.dat b/tests/regression_tests/mgxs_library_correction/results_true.dat
new file mode 100644
index 000000000..f7e288802
--- /dev/null
+++ b/tests/regression_tests/mgxs_library_correction/results_true.dat
@@ -0,0 +1,60 @@
+ material group in group out nuclide mean std. dev.
+3 1 1 1 total 0.332466 0.026533
+2 1 1 2 total 0.000989 0.000482
+1 1 2 1 total 0.000925 0.000925
+0 1 2 2 total 0.396146 0.015511
+ material group in group out nuclide mean std. dev.
+3 1 1 1 total 0.332466 0.026533
+2 1 1 2 total 0.000989 0.000482
+1 1 2 1 total 0.000925 0.000925
+0 1 2 2 total 0.396146 0.015511
+ material group in group out nuclide mean std. dev.
+3 1 1 1 total 0.334690 0.037288
+2 1 1 2 total 0.000995 0.000489
+1 1 2 1 total 0.000887 0.000889
+0 1 2 2 total 0.379453 0.030118
+ material group in group out nuclide mean std. dev.
+3 1 1 1 total 0.334690 0.048073
+2 1 1 2 total 0.000995 0.000841
+1 1 2 1 total 0.000887 0.001538
+0 1 2 2 total 0.379453 0.034216
+ material group in group out nuclide mean std. dev.
+3 2 1 1 total 0.271891 0.032748
+2 2 1 2 total 0.000000 0.000000
+1 2 2 1 total 0.000000 0.000000
+0 2 2 2 total 0.307478 0.047512
+ material group in group out nuclide mean std. dev.
+3 2 1 1 total 0.271891 0.032748
+2 2 1 2 total 0.000000 0.000000
+1 2 2 1 total 0.000000 0.000000
+0 2 2 2 total 0.307478 0.047512
+ material group in group out nuclide mean std. dev.
+3 2 1 1 total 0.273933 0.038207
+2 2 1 2 total 0.000000 0.000000
+1 2 2 1 total 0.000000 0.000000
+0 2 2 2 total 0.306635 0.052777
+ material group in group out nuclide mean std. dev.
+3 2 1 1 total 0.273933 0.051116
+2 2 1 2 total 0.000000 0.000000
+1 2 2 1 total 0.000000 0.000000
+0 2 2 2 total 0.306635 0.067497
+ material group in group out nuclide mean std. dev.
+3 3 1 1 total 0.258652 0.022623
+2 3 1 2 total 0.031368 0.001728
+1 3 2 1 total 0.000443 0.000445
+0 3 2 2 total 1.482300 0.232653
+ material group in group out nuclide mean std. dev.
+3 3 1 1 total 0.258652 0.022623
+2 3 1 2 total 0.031368 0.001728
+1 3 2 1 total 0.000443 0.000445
+0 3 2 2 total 1.482300 0.232653
+ material group in group out nuclide mean std. dev.
+3 3 1 1 total 0.251610 0.041472
+2 3 1 2 total 0.031023 0.002232
+1 3 2 1 total 0.000440 0.000445
+0 3 2 2 total 1.467612 0.356408
+ material group in group out nuclide mean std. dev.
+3 3 1 1 total 0.251610 0.048135
+2 3 1 2 total 0.031023 0.003064
+1 3 2 1 total 0.000440 0.000765
+0 3 2 2 total 1.467612 0.449931
diff --git a/tests/regression_tests/mgxs_library_correction/test.py b/tests/regression_tests/mgxs_library_correction/test.py
new file mode 100644
index 000000000..05eedfef8
--- /dev/null
+++ b/tests/regression_tests/mgxs_library_correction/test.py
@@ -0,0 +1,63 @@
+import hashlib
+
+import openmc
+import openmc.mgxs
+from openmc.examples import pwr_pin_cell
+
+from tests.testing_harness import PyAPITestHarness
+
+
+class MGXSTestHarness(PyAPITestHarness):
+ def __init__(self, *args, **kwargs):
+ # Generate inputs using parent class routine
+ super().__init__(*args, **kwargs)
+
+ # Initialize a two-group structure
+ energy_groups = openmc.mgxs.EnergyGroups(group_edges=[0, 0.625, 20.e6])
+
+ # Initialize MGXS Library for a few cross section types
+ self.mgxs_lib = openmc.mgxs.Library(self._model.geometry)
+ self.mgxs_lib.by_nuclide = False
+
+ # Test all MGXS types
+ self.mgxs_lib.mgxs_types = ['scatter matrix', 'nu-scatter matrix',
+ 'consistent scatter matrix',
+ 'consistent nu-scatter matrix']
+ self.mgxs_lib.energy_groups = energy_groups
+ self.mgxs_lib.correction = 'P0'
+ self.mgxs_lib.domain_type = 'material'
+ self.mgxs_lib.build_library()
+
+ # Add tallies
+ self.mgxs_lib.add_to_tallies_file(self._model.tallies, merge=False)
+
+ def _get_results(self, hash_output=False):
+ """Digest info in the statepoint and return as a string."""
+
+ # Read the statepoint file.
+ sp = openmc.StatePoint(self._sp_name)
+
+ # Load the MGXS library from the statepoint
+ self.mgxs_lib.load_from_statepoint(sp)
+
+ # Build a string from Pandas Dataframe for each MGXS
+ outstr = ''
+ for domain in self.mgxs_lib.domains:
+ for mgxs_type in self.mgxs_lib.mgxs_types:
+ mgxs = self.mgxs_lib.get_mgxs(domain, mgxs_type)
+ df = mgxs.get_pandas_dataframe()
+ outstr += df.to_string() + '\n'
+
+ # Hash the results if necessary
+ if hash_output:
+ sha512 = hashlib.sha512()
+ sha512.update(outstr.encode('utf-8'))
+ outstr = sha512.hexdigest()
+
+ return outstr
+
+
+def test_mgxs_library_correction():
+ model = pwr_pin_cell()
+ harness = MGXSTestHarness('statepoint.10.h5', model)
+ harness.main()
diff --git a/tests/regression_tests/mgxs_library_histogram/__init__.py b/tests/regression_tests/mgxs_library_histogram/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tests/regression_tests/mgxs_library_histogram/inputs_true.dat b/tests/regression_tests/mgxs_library_histogram/inputs_true.dat
new file mode 100644
index 000000000..29c46c937
--- /dev/null
+++ b/tests/regression_tests/mgxs_library_histogram/inputs_true.dat
@@ -0,0 +1,287 @@
+
+
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ eigenvalue
+ 100
+ 10
+ 5
+
+
+ -0.63 -0.63 -1 0.63 0.63 1
+
+
+
+
+
+
+ 1
+
+
+ 0.0 0.625 20000000.0
+
+
+ 0.0 0.625 20000000.0
+
+
+ -1.0 -0.818181818182 -0.636363636364 -0.454545454545 -0.272727272727 -0.0909090909091 0.0909090909091 0.272727272727 0.454545454545 0.636363636364 0.818181818182 1.0
+
+
+ 2
+
+
+ 3
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 3 4
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 3 4
+ total
+ nu-scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 3 4
+ total
+ scatter-0
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 3 4
+ total
+ scatter-0
+ analog
+
+
+ 1 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 1 2 3
+ total
+ scatter-0
+ analog
+
+
+ 17 2
+ total
+ flux
+ analog
+
+
+ 17 2 3 4
+ total
+ scatter
+ analog
+
+
+ 17 2
+ total
+ flux
+ analog
+
+
+ 17 2 3 4
+ total
+ nu-scatter
+ analog
+
+
+ 17 2
+ total
+ flux
+ tracklength
+
+
+ 17 2
+ total
+ scatter
+ tracklength
+
+
+ 17 2 3 4
+ total
+ scatter-0
+ analog
+
+
+ 17 2
+ total
+ flux
+ tracklength
+
+
+ 17 2
+ total
+ scatter
+ tracklength
+
+
+ 17 2 3 4
+ total
+ scatter-0
+ analog
+
+
+ 17 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 17 2 3
+ total
+ scatter-0
+ analog
+
+
+ 33 2
+ total
+ flux
+ analog
+
+
+ 33 2 3 4
+ total
+ scatter
+ analog
+
+
+ 33 2
+ total
+ flux
+ analog
+
+
+ 33 2 3 4
+ total
+ nu-scatter
+ analog
+
+
+ 33 2
+ total
+ flux
+ tracklength
+
+
+ 33 2
+ total
+ scatter
+ tracklength
+
+
+ 33 2 3 4
+ total
+ scatter-0
+ analog
+
+
+ 33 2
+ total
+ flux
+ tracklength
+
+
+ 33 2
+ total
+ scatter
+ tracklength
+
+
+ 33 2 3 4
+ total
+ scatter-0
+ analog
+
+
+ 33 2 3
+ total
+ nu-scatter-0
+ analog
+
+
+ 33 2 3
+ total
+ scatter-0
+ analog
+
+
diff --git a/tests/regression_tests/mgxs_library_histogram/results_true.dat b/tests/regression_tests/mgxs_library_histogram/results_true.dat
new file mode 100644
index 000000000..116a1a983
--- /dev/null
+++ b/tests/regression_tests/mgxs_library_histogram/results_true.dat
@@ -0,0 +1,540 @@
+ material group in group out mu bin nuclide mean std. dev.
+33 1 1 1 1 total 0.025383 0.001933
+34 1 1 1 2 total 0.027855 0.001701
+35 1 1 1 3 total 0.031646 0.002913
+36 1 1 1 4 total 0.028185 0.001430
+37 1 1 1 5 total 0.030162 0.002739
+38 1 1 1 6 total 0.029009 0.002713
+39 1 1 1 7 total 0.030492 0.002907
+40 1 1 1 8 total 0.035272 0.003860
+41 1 1 1 9 total 0.043678 0.006074
+42 1 1 1 10 total 0.044502 0.003030
+43 1 1 1 11 total 0.058017 0.004319
+22 1 1 2 1 total 0.000000 0.000000
+23 1 1 2 2 total 0.000165 0.000165
+24 1 1 2 3 total 0.000330 0.000202
+25 1 1 2 4 total 0.000165 0.000165
+26 1 1 2 5 total 0.000000 0.000000
+27 1 1 2 6 total 0.000165 0.000165
+28 1 1 2 7 total 0.000000 0.000000
+29 1 1 2 8 total 0.000000 0.000000
+30 1 1 2 9 total 0.000000 0.000000
+31 1 1 2 10 total 0.000165 0.000165
+32 1 1 2 11 total 0.000000 0.000000
+11 1 2 1 1 total 0.000925 0.000925
+12 1 2 1 2 total 0.000000 0.000000
+13 1 2 1 3 total 0.000000 0.000000
+14 1 2 1 4 total 0.000000 0.000000
+15 1 2 1 5 total 0.000000 0.000000
+16 1 2 1 6 total 0.000000 0.000000
+17 1 2 1 7 total 0.000000 0.000000
+18 1 2 1 8 total 0.000000 0.000000
+19 1 2 1 9 total 0.000000 0.000000
+20 1 2 1 10 total 0.000000 0.000000
+21 1 2 1 11 total 0.000000 0.000000
+0 1 2 2 1 total 0.037910 0.006498
+1 1 2 2 2 total 0.031438 0.002377
+2 1 2 2 3 total 0.036986 0.006429
+3 1 2 2 4 total 0.029588 0.005627
+4 1 2 2 5 total 0.036986 0.007359
+5 1 2 2 6 total 0.035136 0.004110
+6 1 2 2 7 total 0.037910 0.003188
+7 1 2 2 8 total 0.041609 0.004489
+8 1 2 2 9 total 0.040684 0.007710
+9 1 2 2 10 total 0.043458 0.004638
+10 1 2 2 11 total 0.039760 0.002920
+ material group in group out mu bin nuclide mean std. dev.
+33 1 1 1 1 total 0.025383 0.001933
+34 1 1 1 2 total 0.027855 0.001701
+35 1 1 1 3 total 0.031646 0.002913
+36 1 1 1 4 total 0.028185 0.001430
+37 1 1 1 5 total 0.030162 0.002739
+38 1 1 1 6 total 0.029009 0.002713
+39 1 1 1 7 total 0.030492 0.002907
+40 1 1 1 8 total 0.035272 0.003860
+41 1 1 1 9 total 0.043678 0.006074
+42 1 1 1 10 total 0.044502 0.003030
+43 1 1 1 11 total 0.058017 0.004319
+22 1 1 2 1 total 0.000000 0.000000
+23 1 1 2 2 total 0.000165 0.000165
+24 1 1 2 3 total 0.000330 0.000202
+25 1 1 2 4 total 0.000165 0.000165
+26 1 1 2 5 total 0.000000 0.000000
+27 1 1 2 6 total 0.000165 0.000165
+28 1 1 2 7 total 0.000000 0.000000
+29 1 1 2 8 total 0.000000 0.000000
+30 1 1 2 9 total 0.000000 0.000000
+31 1 1 2 10 total 0.000165 0.000165
+32 1 1 2 11 total 0.000000 0.000000
+11 1 2 1 1 total 0.000925 0.000925
+12 1 2 1 2 total 0.000000 0.000000
+13 1 2 1 3 total 0.000000 0.000000
+14 1 2 1 4 total 0.000000 0.000000
+15 1 2 1 5 total 0.000000 0.000000
+16 1 2 1 6 total 0.000000 0.000000
+17 1 2 1 7 total 0.000000 0.000000
+18 1 2 1 8 total 0.000000 0.000000
+19 1 2 1 9 total 0.000000 0.000000
+20 1 2 1 10 total 0.000000 0.000000
+21 1 2 1 11 total 0.000000 0.000000
+0 1 2 2 1 total 0.037910 0.006498
+1 1 2 2 2 total 0.031438 0.002377
+2 1 2 2 3 total 0.036986 0.006429
+3 1 2 2 4 total 0.029588 0.005627
+4 1 2 2 5 total 0.036986 0.007359
+5 1 2 2 6 total 0.035136 0.004110
+6 1 2 2 7 total 0.037910 0.003188
+7 1 2 2 8 total 0.041609 0.004489
+8 1 2 2 9 total 0.040684 0.007710
+9 1 2 2 10 total 0.043458 0.004638
+10 1 2 2 11 total 0.039760 0.002920
+ material group in group out mu bin nuclide mean std. dev.
+33 1 1 1 1 total 0.025529 0.002197
+34 1 1 1 2 total 0.028016 0.002047
+35 1 1 1 3 total 0.031829 0.003196
+36 1 1 1 4 total 0.028348 0.001833
+37 1 1 1 5 total 0.030337 0.003012
+38 1 1 1 6 total 0.029177 0.002969
+39 1 1 1 7 total 0.030668 0.003172
+40 1 1 1 8 total 0.035476 0.004135
+41 1 1 1 9 total 0.043931 0.006358
+42 1 1 1 10 total 0.044759 0.003536
+43 1 1 1 11 total 0.058353 0.004934
+22 1 1 2 1 total 0.000000 0.000000
+23 1 1 2 2 total 0.000166 0.000166
+24 1 1 2 3 total 0.000332 0.000204
+25 1 1 2 4 total 0.000166 0.000166
+26 1 1 2 5 total 0.000000 0.000000
+27 1 1 2 6 total 0.000166 0.000166
+28 1 1 2 7 total 0.000000 0.000000
+29 1 1 2 8 total 0.000000 0.000000
+30 1 1 2 9 total 0.000000 0.000000
+31 1 1 2 10 total 0.000166 0.000166
+32 1 1 2 11 total 0.000000 0.000000
+11 1 2 1 1 total 0.000887 0.000890
+12 1 2 1 2 total 0.000000 0.000000
+13 1 2 1 3 total 0.000000 0.000000
+14 1 2 1 4 total 0.000000 0.000000
+15 1 2 1 5 total 0.000000 0.000000
+16 1 2 1 6 total 0.000000 0.000000
+17 1 2 1 7 total 0.000000 0.000000
+18 1 2 1 8 total 0.000000 0.000000
+19 1 2 1 9 total 0.000000 0.000000
+20 1 2 1 10 total 0.000000 0.000000
+21 1 2 1 11 total 0.000000 0.000000
+0 1 2 2 1 total 0.036372 0.006773
+1 1 2 2 2 total 0.030162 0.003165
+2 1 2 2 3 total 0.035485 0.006687
+3 1 2 2 4 total 0.028388 0.005781
+4 1 2 2 5 total 0.035485 0.007518
+5 1 2 2 6 total 0.033711 0.004644
+6 1 2 2 7 total 0.036372 0.004045
+7 1 2 2 8 total 0.039921 0.005195
+8 1 2 2 9 total 0.039034 0.007923
+9 1 2 2 10 total 0.041695 0.005386
+10 1 2 2 11 total 0.038147 0.003944
+ material group in group out mu bin nuclide mean std. dev.
+33 1 1 1 1 total 0.025529 0.002974
+34 1 1 1 2 total 0.028016 0.003005
+35 1 1 1 3 total 0.031829 0.004057
+36 1 1 1 4 total 0.028348 0.002884
+37 1 1 1 5 total 0.030337 0.003840
+38 1 1 1 6 total 0.029177 0.003750
+39 1 1 1 7 total 0.030668 0.003982
+40 1 1 1 8 total 0.035476 0.004986
+41 1 1 1 9 total 0.043931 0.007233
+42 1 1 1 10 total 0.044759 0.004986
+43 1 1 1 11 total 0.058353 0.006733
+22 1 1 2 1 total 0.000000 0.000000
+23 1 1 2 2 total 0.000166 0.000201
+24 1 1 2 3 total 0.000332 0.000306
+25 1 1 2 4 total 0.000166 0.000201
+26 1 1 2 5 total 0.000000 0.000000
+27 1 1 2 6 total 0.000166 0.000201
+28 1 1 2 7 total 0.000000 0.000000
+29 1 1 2 8 total 0.000000 0.000000
+30 1 1 2 9 total 0.000000 0.000000
+31 1 1 2 10 total 0.000166 0.000201
+32 1 1 2 11 total 0.000000 0.000000
+11 1 2 1 1 total 0.000887 0.001538
+12 1 2 1 2 total 0.000000 0.000000
+13 1 2 1 3 total 0.000000 0.000000
+14 1 2 1 4 total 0.000000 0.000000
+15 1 2 1 5 total 0.000000 0.000000
+16 1 2 1 6 total 0.000000 0.000000
+17 1 2 1 7 total 0.000000 0.000000
+18 1 2 1 8 total 0.000000 0.000000
+19 1 2 1 9 total 0.000000 0.000000
+20 1 2 1 10 total 0.000000 0.000000
+21 1 2 1 11 total 0.000000 0.000000
+0 1 2 2 1 total 0.036372 0.006936
+1 1 2 2 2 total 0.030162 0.003400
+2 1 2 2 3 total 0.035485 0.006844
+3 1 2 2 4 total 0.028388 0.005898
+4 1 2 2 5 total 0.035485 0.007658
+5 1 2 2 6 total 0.033711 0.004847
+6 1 2 2 7 total 0.036372 0.004312
+7 1 2 2 8 total 0.039921 0.005448
+8 1 2 2 9 total 0.039034 0.008084
+9 1 2 2 10 total 0.041695 0.005652
+10 1 2 2 11 total 0.038147 0.004245
+ material group in group out mu bin nuclide mean std. dev.
+33 2 1 1 1 total 0.026289 0.004089
+34 2 1 1 2 total 0.018269 0.002939
+35 2 1 1 3 total 0.025398 0.002153
+36 2 1 1 4 total 0.024061 0.005097
+37 2 1 1 5 total 0.022279 0.003375
+38 2 1 1 6 total 0.027626 0.004817
+39 2 1 1 7 total 0.025843 0.003039
+40 2 1 1 8 total 0.026735 0.006742
+41 2 1 1 9 total 0.027626 0.005213
+42 2 1 1 10 total 0.036537 0.005920
+43 2 1 1 11 total 0.049459 0.004153
+22 2 1 2 1 total 0.000000 0.000000
+23 2 1 2 2 total 0.000000 0.000000
+24 2 1 2 3 total 0.000000 0.000000
+25 2 1 2 4 total 0.000000 0.000000
+26 2 1 2 5 total 0.000000 0.000000
+27 2 1 2 6 total 0.000000 0.000000
+28 2 1 2 7 total 0.000000 0.000000
+29 2 1 2 8 total 0.000000 0.000000
+30 2 1 2 9 total 0.000000 0.000000
+31 2 1 2 10 total 0.000000 0.000000
+32 2 1 2 11 total 0.000000 0.000000
+11 2 2 1 1 total 0.000000 0.000000
+12 2 2 1 2 total 0.000000 0.000000
+13 2 2 1 3 total 0.000000 0.000000
+14 2 2 1 4 total 0.000000 0.000000
+15 2 2 1 5 total 0.000000 0.000000
+16 2 2 1 6 total 0.000000 0.000000
+17 2 2 1 7 total 0.000000 0.000000
+18 2 2 1 8 total 0.000000 0.000000
+19 2 2 1 9 total 0.000000 0.000000
+20 2 2 1 10 total 0.000000 0.000000
+21 2 2 1 11 total 0.000000 0.000000
+0 2 2 2 1 total 0.024485 0.007210
+1 2 2 2 2 total 0.036727 0.005548
+2 2 2 2 3 total 0.041624 0.010918
+3 2 2 2 4 total 0.019588 0.008569
+4 2 2 2 5 total 0.022036 0.007526
+5 2 2 2 6 total 0.019588 0.011549
+6 2 2 2 7 total 0.022036 0.006454
+7 2 2 2 8 total 0.036727 0.010282
+8 2 2 2 9 total 0.022036 0.005164
+9 2 2 2 10 total 0.031830 0.011864
+10 2 2 2 11 total 0.019588 0.005336
+ material group in group out mu bin nuclide mean std. dev.
+33 2 1 1 1 total 0.026289 0.004089
+34 2 1 1 2 total 0.018269 0.002939
+35 2 1 1 3 total 0.025398 0.002153
+36 2 1 1 4 total 0.024061 0.005097
+37 2 1 1 5 total 0.022279 0.003375
+38 2 1 1 6 total 0.027626 0.004817
+39 2 1 1 7 total 0.025843 0.003039
+40 2 1 1 8 total 0.026735 0.006742
+41 2 1 1 9 total 0.027626 0.005213
+42 2 1 1 10 total 0.036537 0.005920
+43 2 1 1 11 total 0.049459 0.004153
+22 2 1 2 1 total 0.000000 0.000000
+23 2 1 2 2 total 0.000000 0.000000
+24 2 1 2 3 total 0.000000 0.000000
+25 2 1 2 4 total 0.000000 0.000000
+26 2 1 2 5 total 0.000000 0.000000
+27 2 1 2 6 total 0.000000 0.000000
+28 2 1 2 7 total 0.000000 0.000000
+29 2 1 2 8 total 0.000000 0.000000
+30 2 1 2 9 total 0.000000 0.000000
+31 2 1 2 10 total 0.000000 0.000000
+32 2 1 2 11 total 0.000000 0.000000
+11 2 2 1 1 total 0.000000 0.000000
+12 2 2 1 2 total 0.000000 0.000000
+13 2 2 1 3 total 0.000000 0.000000
+14 2 2 1 4 total 0.000000 0.000000
+15 2 2 1 5 total 0.000000 0.000000
+16 2 2 1 6 total 0.000000 0.000000
+17 2 2 1 7 total 0.000000 0.000000
+18 2 2 1 8 total 0.000000 0.000000
+19 2 2 1 9 total 0.000000 0.000000
+20 2 2 1 10 total 0.000000 0.000000
+21 2 2 1 11 total 0.000000 0.000000
+0 2 2 2 1 total 0.024485 0.007210
+1 2 2 2 2 total 0.036727 0.005548
+2 2 2 2 3 total 0.041624 0.010918
+3 2 2 2 4 total 0.019588 0.008569
+4 2 2 2 5 total 0.022036 0.007526
+5 2 2 2 6 total 0.019588 0.011549
+6 2 2 2 7 total 0.022036 0.006454
+7 2 2 2 8 total 0.036727 0.010282
+8 2 2 2 9 total 0.022036 0.005164
+9 2 2 2 10 total 0.031830 0.011864
+10 2 2 2 11 total 0.019588 0.005336
+ material group in group out mu bin nuclide mean std. dev.
+33 2 1 1 1 total 0.026462 0.003961
+34 2 1 1 2 total 0.018389 0.002854
+35 2 1 1 3 total 0.025565 0.001877
+36 2 1 1 4 total 0.024220 0.005027
+37 2 1 1 5 total 0.022425 0.003262
+38 2 1 1 6 total 0.027808 0.004704
+39 2 1 1 7 total 0.026014 0.002854
+40 2 1 1 8 total 0.026911 0.006690
+41 2 1 1 9 total 0.027808 0.005114
+42 2 1 1 10 total 0.036778 0.005752
+43 2 1 1 11 total 0.049785 0.003610
+22 2 1 2 1 total 0.000000 0.000000
+23 2 1 2 2 total 0.000000 0.000000
+24 2 1 2 3 total 0.000000 0.000000
+25 2 1 2 4 total 0.000000 0.000000
+26 2 1 2 5 total 0.000000 0.000000
+27 2 1 2 6 total 0.000000 0.000000
+28 2 1 2 7 total 0.000000 0.000000
+29 2 1 2 8 total 0.000000 0.000000
+30 2 1 2 9 total 0.000000 0.000000
+31 2 1 2 10 total 0.000000 0.000000
+32 2 1 2 11 total 0.000000 0.000000
+11 2 2 1 1 total 0.000000 0.000000
+12 2 2 1 2 total 0.000000 0.000000
+13 2 2 1 3 total 0.000000 0.000000
+14 2 2 1 4 total 0.000000 0.000000
+15 2 2 1 5 total 0.000000 0.000000
+16 2 2 1 6 total 0.000000 0.000000
+17 2 2 1 7 total 0.000000 0.000000
+18 2 2 1 8 total 0.000000 0.000000
+19 2 2 1 9 total 0.000000 0.000000
+20 2 2 1 10 total 0.000000 0.000000
+21 2 2 1 11 total 0.000000 0.000000
+0 2 2 2 1 total 0.024415 0.007393
+1 2 2 2 2 total 0.036622 0.006106
+2 2 2 2 3 total 0.041505 0.011274
+3 2 2 2 4 total 0.019532 0.008656
+4 2 2 2 5 total 0.021973 0.007663
+5 2 2 2 6 total 0.019532 0.011599
+6 2 2 2 7 total 0.021973 0.006620
+7 2 2 2 8 total 0.036622 0.010574
+8 2 2 2 9 total 0.021973 0.005378
+9 2 2 2 10 total 0.031739 0.012040
+10 2 2 2 11 total 0.019532 0.005496
+ material group in group out mu bin nuclide mean std. dev.
+33 2 1 1 1 total 0.026462 0.004896
+34 2 1 1 2 total 0.018389 0.003485
+35 2 1 1 3 total 0.025565 0.003355
+36 2 1 1 4 total 0.024220 0.005676
+37 2 1 1 5 total 0.022425 0.004073
+38 2 1 1 6 total 0.027808 0.005593
+39 2 1 1 7 total 0.026014 0.004019
+40 2 1 1 8 total 0.026911 0.007302
+41 2 1 1 9 total 0.027808 0.005941
+42 2 1 1 10 total 0.036778 0.007007
+43 2 1 1 11 total 0.049785 0.006508
+22 2 1 2 1 total 0.000000 0.000000
+23 2 1 2 2 total 0.000000 0.000000
+24 2 1 2 3 total 0.000000 0.000000
+25 2 1 2 4 total 0.000000 0.000000
+26 2 1 2 5 total 0.000000 0.000000
+27 2 1 2 6 total 0.000000 0.000000
+28 2 1 2 7 total 0.000000 0.000000
+29 2 1 2 8 total 0.000000 0.000000
+30 2 1 2 9 total 0.000000 0.000000
+31 2 1 2 10 total 0.000000 0.000000
+32 2 1 2 11 total 0.000000 0.000000
+11 2 2 1 1 total 0.000000 0.000000
+12 2 2 1 2 total 0.000000 0.000000
+13 2 2 1 3 total 0.000000 0.000000
+14 2 2 1 4 total 0.000000 0.000000
+15 2 2 1 5 total 0.000000 0.000000
+16 2 2 1 6 total 0.000000 0.000000
+17 2 2 1 7 total 0.000000 0.000000
+18 2 2 1 8 total 0.000000 0.000000
+19 2 2 1 9 total 0.000000 0.000000
+20 2 2 1 10 total 0.000000 0.000000
+21 2 2 1 11 total 0.000000 0.000000
+0 2 2 2 1 total 0.024415 0.008170
+1 2 2 2 2 total 0.036622 0.008031
+2 2 2 2 3 total 0.041505 0.012730
+3 2 2 2 4 total 0.019532 0.009092
+4 2 2 2 5 total 0.021973 0.008278
+5 2 2 2 6 total 0.019532 0.011928
+6 2 2 2 7 total 0.021973 0.007322
+7 2 2 2 8 total 0.036622 0.011790
+8 2 2 2 9 total 0.021973 0.006222
+9 2 2 2 10 total 0.031739 0.012861
+10 2 2 2 11 total 0.019532 0.006160
+ material group in group out mu bin nuclide mean std. dev.
+33 3 1 1 1 total 0.007001 0.000582
+34 3 1 1 2 total 0.007728 0.001008
+35 3 1 1 3 total 0.006819 0.001120
+36 3 1 1 4 total 0.006092 0.000787
+37 3 1 1 5 total 0.007183 0.000663
+38 3 1 1 6 total 0.011274 0.000704
+39 3 1 1 7 total 0.042642 0.002093
+40 3 1 1 8 total 0.074464 0.002664
+41 3 1 1 9 total 0.119015 0.006892
+42 3 1 1 10 total 0.153293 0.006049
+43 3 1 1 11 total 0.204390 0.010619
+22 3 1 2 1 total 0.000818 0.000302
+23 3 1 2 2 total 0.000818 0.000094
+24 3 1 2 3 total 0.001091 0.000234
+25 3 1 2 4 total 0.001091 0.000310
+26 3 1 2 5 total 0.002546 0.000607
+27 3 1 2 6 total 0.002364 0.000340
+28 3 1 2 7 total 0.004546 0.000835
+29 3 1 2 8 total 0.004819 0.000831
+30 3 1 2 9 total 0.006092 0.001113
+31 3 1 2 10 total 0.004546 0.000757
+32 3 1 2 11 total 0.002637 0.000371
+11 3 2 1 1 total 0.000000 0.000000
+12 3 2 1 2 total 0.000000 0.000000
+13 3 2 1 3 total 0.000000 0.000000
+14 3 2 1 4 total 0.000000 0.000000
+15 3 2 1 5 total 0.000000 0.000000
+16 3 2 1 6 total 0.000000 0.000000
+17 3 2 1 7 total 0.000000 0.000000
+18 3 2 1 8 total 0.000000 0.000000
+19 3 2 1 9 total 0.000000 0.000000
+20 3 2 1 10 total 0.000000 0.000000
+21 3 2 1 11 total 0.000443 0.000445
+0 3 2 2 1 total 0.088669 0.015373
+1 3 2 2 2 total 0.098422 0.016029
+2 3 2 2 3 total 0.126796 0.022922
+3 3 2 2 4 total 0.118373 0.018371
+4 3 2 2 5 total 0.131230 0.014538
+5 3 2 2 6 total 0.167584 0.027220
+6 3 2 2 7 total 0.180441 0.023605
+7 3 2 2 8 total 0.213691 0.028779
+8 3 2 2 9 total 0.236745 0.024777
+9 3 2 2 10 total 0.333394 0.041247
+10 3 2 2 11 total 0.339601 0.037814
+ material group in group out mu bin nuclide mean std. dev.
+33 3 1 1 1 total 0.007001 0.000582
+34 3 1 1 2 total 0.007728 0.001008
+35 3 1 1 3 total 0.006819 0.001120
+36 3 1 1 4 total 0.006092 0.000787
+37 3 1 1 5 total 0.007183 0.000663
+38 3 1 1 6 total 0.011274 0.000704
+39 3 1 1 7 total 0.042642 0.002093
+40 3 1 1 8 total 0.074464 0.002664
+41 3 1 1 9 total 0.119015 0.006892
+42 3 1 1 10 total 0.153293 0.006049
+43 3 1 1 11 total 0.204390 0.010619
+22 3 1 2 1 total 0.000818 0.000302
+23 3 1 2 2 total 0.000818 0.000094
+24 3 1 2 3 total 0.001091 0.000234
+25 3 1 2 4 total 0.001091 0.000310
+26 3 1 2 5 total 0.002546 0.000607
+27 3 1 2 6 total 0.002364 0.000340
+28 3 1 2 7 total 0.004546 0.000835
+29 3 1 2 8 total 0.004819 0.000831
+30 3 1 2 9 total 0.006092 0.001113
+31 3 1 2 10 total 0.004546 0.000757
+32 3 1 2 11 total 0.002637 0.000371
+11 3 2 1 1 total 0.000000 0.000000
+12 3 2 1 2 total 0.000000 0.000000
+13 3 2 1 3 total 0.000000 0.000000
+14 3 2 1 4 total 0.000000 0.000000
+15 3 2 1 5 total 0.000000 0.000000
+16 3 2 1 6 total 0.000000 0.000000
+17 3 2 1 7 total 0.000000 0.000000
+18 3 2 1 8 total 0.000000 0.000000
+19 3 2 1 9 total 0.000000 0.000000
+20 3 2 1 10 total 0.000000 0.000000
+21 3 2 1 11 total 0.000443 0.000445
+0 3 2 2 1 total 0.088669 0.015373
+1 3 2 2 2 total 0.098422 0.016029
+2 3 2 2 3 total 0.126796 0.022922
+3 3 2 2 4 total 0.118373 0.018371
+4 3 2 2 5 total 0.131230 0.014538
+5 3 2 2 6 total 0.167584 0.027220
+6 3 2 2 7 total 0.180441 0.023605
+7 3 2 2 8 total 0.213691 0.028779
+8 3 2 2 9 total 0.236745 0.024777
+9 3 2 2 10 total 0.333394 0.041247
+10 3 2 2 11 total 0.339601 0.037814
+ material group in group out mu bin nuclide mean std. dev.
+33 3 1 1 1 total 0.006924 0.000646
+34 3 1 1 2 total 0.007643 0.001048
+35 3 1 1 3 total 0.006744 0.001144
+36 3 1 1 4 total 0.006025 0.000819
+37 3 1 1 5 total 0.007104 0.000721
+38 3 1 1 6 total 0.011150 0.000841
+39 3 1 1 7 total 0.042173 0.002735
+40 3 1 1 8 total 0.073645 0.004084
+41 3 1 1 9 total 0.117706 0.008446
+42 3 1 1 10 total 0.151606 0.008778
+43 3 1 1 11 total 0.202141 0.013551
+22 3 1 2 1 total 0.000809 0.000301
+23 3 1 2 2 total 0.000809 0.000099
+24 3 1 2 3 total 0.001079 0.000236
+25 3 1 2 4 total 0.001079 0.000310
+26 3 1 2 5 total 0.002518 0.000610
+27 3 1 2 6 total 0.002338 0.000351
+28 3 1 2 7 total 0.004496 0.000848
+29 3 1 2 8 total 0.004766 0.000847
+30 3 1 2 9 total 0.006025 0.001130
+31 3 1 2 10 total 0.004496 0.000773
+32 3 1 2 11 total 0.002608 0.000383
+11 3 2 1 1 total 0.000000 0.000000
+12 3 2 1 2 total 0.000000 0.000000
+13 3 2 1 3 total 0.000000 0.000000
+14 3 2 1 4 total 0.000000 0.000000
+15 3 2 1 5 total 0.000000 0.000000
+16 3 2 1 6 total 0.000000 0.000000
+17 3 2 1 7 total 0.000000 0.000000
+18 3 2 1 8 total 0.000000 0.000000
+19 3 2 1 9 total 0.000000 0.000000
+20 3 2 1 10 total 0.000000 0.000000
+21 3 2 1 11 total 0.000440 0.000443
+0 3 2 2 1 total 0.088029 0.016753
+1 3 2 2 2 total 0.097712 0.017664
+2 3 2 2 3 total 0.125881 0.024808
+3 3 2 2 4 total 0.117518 0.020437
+4 3 2 2 5 total 0.130282 0.017687
+5 3 2 2 6 total 0.166374 0.030012
+6 3 2 2 7 total 0.179138 0.027327
+7 3 2 2 8 total 0.212149 0.033068
+8 3 2 2 9 total 0.235036 0.030744
+9 3 2 2 10 total 0.330988 0.048491
+10 3 2 2 11 total 0.337150 0.045927
+ material group in group out mu bin nuclide mean std. dev.
+33 3 1 1 1 total 0.006924 0.000699
+34 3 1 1 2 total 0.007643 0.001089
+35 3 1 1 3 total 0.006744 0.001173
+36 3 1 1 4 total 0.006025 0.000851
+37 3 1 1 5 total 0.007104 0.000772
+38 3 1 1 6 total 0.011150 0.000945
+39 3 1 1 7 total 0.042173 0.003183
+40 3 1 1 8 total 0.073645 0.004976
+41 3 1 1 9 total 0.117706 0.009591
+42 3 1 1 10 total 0.151606 0.010550
+43 3 1 1 11 total 0.202141 0.015638
+22 3 1 2 1 total 0.000809 0.000306
+23 3 1 2 2 total 0.000809 0.000113
+24 3 1 2 3 total 0.001079 0.000247
+25 3 1 2 4 total 0.001079 0.000318
+26 3 1 2 5 total 0.002518 0.000633
+27 3 1 2 6 total 0.002338 0.000385
+28 3 1 2 7 total 0.004496 0.000901
+29 3 1 2 8 total 0.004766 0.000906
+30 3 1 2 9 total 0.006025 0.001201
+31 3 1 2 10 total 0.004496 0.000830
+32 3 1 2 11 total 0.002608 0.000422
+11 3 2 1 1 total 0.000000 0.000000
+12 3 2 1 2 total 0.000000 0.000000
+13 3 2 1 3 total 0.000000 0.000000
+14 3 2 1 4 total 0.000000 0.000000
+15 3 2 1 5 total 0.000000 0.000000
+16 3 2 1 6 total 0.000000 0.000000
+17 3 2 1 7 total 0.000000 0.000000
+18 3 2 1 8 total 0.000000 0.000000
+19 3 2 1 9 total 0.000000 0.000000
+20 3 2 1 10 total 0.000000 0.000000
+21 3 2 1 11 total 0.000440 0.000764
+0 3 2 2 1 total 0.088029 0.020587
+1 3 2 2 2 total 0.097712 0.022100
+2 3 2 2 3 total 0.125881 0.030136
+3 3 2 2 4 total 0.117518 0.025939
+4 3 2 2 5 total 0.130282 0.025029
+5 3 2 2 6 total 0.166374 0.037579
+6 3 2 2 7 total 0.179138 0.036602
+7 3 2 2 8 total 0.212149 0.043875
+8 3 2 2 9 total 0.235036 0.044338
+9 3 2 2 10 total 0.330988 0.066148
+10 3 2 2 11 total 0.337150 0.064881
diff --git a/tests/regression_tests/mgxs_library_histogram/test.py b/tests/regression_tests/mgxs_library_histogram/test.py
new file mode 100644
index 000000000..b9905910a
--- /dev/null
+++ b/tests/regression_tests/mgxs_library_histogram/test.py
@@ -0,0 +1,64 @@
+import hashlib
+
+import openmc
+import openmc.mgxs
+from openmc.examples import pwr_pin_cell
+
+from tests.testing_harness import PyAPITestHarness
+
+
+class MGXSTestHarness(PyAPITestHarness):
+ def __init__(self, *args, **kwargs):
+ # Generate inputs using parent class routine
+ super().__init__(*args, **kwargs)
+
+ # Initialize a two-group structure
+ energy_groups = openmc.mgxs.EnergyGroups(group_edges=[0, 0.625, 20.e6])
+
+ # Initialize MGXS Library for a few cross section types
+ self.mgxs_lib = openmc.mgxs.Library(self._model.geometry)
+ self.mgxs_lib.by_nuclide = False
+
+ # Test all MGXS types
+ self.mgxs_lib.mgxs_types = ['scatter matrix', 'nu-scatter matrix',
+ 'consistent scatter matrix',
+ 'consistent nu-scatter matrix']
+ self.mgxs_lib.energy_groups = energy_groups
+ self.mgxs_lib.scatter_format = 'histogram'
+ self.mgxs_lib.histogram_bins = 11
+ self.mgxs_lib.domain_type = 'material'
+ self.mgxs_lib.build_library()
+
+ # Add tallies
+ self.mgxs_lib.add_to_tallies_file(self._model.tallies, merge=False)
+
+ def _get_results(self, hash_output=False):
+ """Digest info in the statepoint and return as a string."""
+
+ # Read the statepoint file.
+ sp = openmc.StatePoint(self._sp_name)
+
+ # Load the MGXS library from the statepoint
+ self.mgxs_lib.load_from_statepoint(sp)
+
+ # Build a string from Pandas Dataframe for each MGXS
+ outstr = ''
+ for domain in self.mgxs_lib.domains:
+ for mgxs_type in self.mgxs_lib.mgxs_types:
+ mgxs = self.mgxs_lib.get_mgxs(domain, mgxs_type)
+ df = mgxs.get_pandas_dataframe()
+ outstr += df.to_string() + '\n'
+
+ # Hash the results if necessary
+ if hash_output:
+ sha512 = hashlib.sha512()
+ sha512.update(outstr.encode('utf-8'))
+ outstr = sha512.hexdigest()
+
+ return outstr
+
+
+def test_mgxs_library_histogram():
+ model = pwr_pin_cell()
+ harness = MGXSTestHarness('statepoint.10.h5', model)
+ harness.main()