From a73e7529ab1e01e81a6ac07ee418667fd47ee3d4 Mon Sep 17 00:00:00 2001 From: Sam Shaner Date: Thu, 7 Jul 2016 16:17:50 -0400 Subject: [PATCH] modified tally slice merge test to get slice of a mesh --- tests/test_tally_slice_merge/inputs_true.dat | 2 +- tests/test_tally_slice_merge/results_true.dat | 86 +++++++++++-------- .../test_tally_slice_merge.py | 45 ++++++++-- 3 files changed, 93 insertions(+), 40 deletions(-) diff --git a/tests/test_tally_slice_merge/inputs_true.dat b/tests/test_tally_slice_merge/inputs_true.dat index be2ec63dc5..771a1de8e8 100644 --- a/tests/test_tally_slice_merge/inputs_true.dat +++ b/tests/test_tally_slice_merge/inputs_true.dat @@ -1 +1 @@ -bb4ae3b75445846bd5db05a06cc20e7589990154ccef8302f276cd8356630d585c513ebb6bfa99f9fc93dd2d30c42bfbb67dd3454134f4c9fcb3bac128d1f1c5 \ No newline at end of file +8e54df241233bf8d5424afa0a22cc23c614a3541e5d7cc64036b5284edd28fe2353905ffdfebb446a4dd0202dda6a7da6d0110af00b4ca79117ec1dbe0584ba7 \ No newline at end of file diff --git a/tests/test_tally_slice_merge/results_true.dat b/tests/test_tally_slice_merge/results_true.dat index ed04152d48..f986a91def 100644 --- a/tests/test_tally_slice_merge/results_true.dat +++ b/tests/test_tally_slice_merge/results_true.dat @@ -1,36 +1,37 @@ - energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-235 fission 1.08e-01 7.94e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-235 nu-fission 2.64e-01 1.94e-02 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-238 fission 1.51e-07 1.00e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-238 nu-fission 3.76e-07 2.50e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-235 fission 3.12e-02 2.56e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-235 nu-fission 7.65e-02 6.24e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-238 fission 2.00e-02 1.30e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 21 U-238 nu-fission 5.56e-02 3.78e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-235 fission 4.43e-02 7.21e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-235 nu-fission 1.08e-01 1.76e-02 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-238 fission 6.14e-08 9.64e-09 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 27 U-238 nu-fission 1.53e-07 2.40e-08 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-235 fission 1.39e-02 1.06e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-235 nu-fission 3.40e-02 2.61e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-238 fission 9.72e-03 1.21e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 6.25e-07 2.00e+01 27 U-238 nu-fission 2.71e-02 3.80e-03 energy low [MeV] energy high [MeV] cell nuclide score mean std. dev. -0 0.00e+00 6.25e-07 21 U-235 fission 1.08e-01 7.94e-03 -1 0.00e+00 6.25e-07 21 U-235 nu-fission 2.64e-01 1.94e-02 -2 0.00e+00 6.25e-07 21 U-238 fission 1.51e-07 1.00e-08 -3 0.00e+00 6.25e-07 21 U-238 nu-fission 3.76e-07 2.50e-08 -4 0.00e+00 6.25e-07 27 U-235 fission 4.43e-02 7.21e-03 -5 0.00e+00 6.25e-07 27 U-235 nu-fission 1.08e-01 1.76e-02 -6 0.00e+00 6.25e-07 27 U-238 fission 6.14e-08 9.64e-09 -7 0.00e+00 6.25e-07 27 U-238 nu-fission 1.53e-07 2.40e-08 -8 6.25e-07 2.00e+01 21 U-235 fission 3.12e-02 2.56e-03 -9 6.25e-07 2.00e+01 21 U-235 nu-fission 7.65e-02 6.24e-03 -10 6.25e-07 2.00e+01 21 U-238 fission 2.00e-02 1.30e-03 -11 6.25e-07 2.00e+01 21 U-238 nu-fission 5.56e-02 3.78e-03 -12 6.25e-07 2.00e+01 27 U-235 fission 1.39e-02 1.06e-03 -13 6.25e-07 2.00e+01 27 U-235 nu-fission 3.40e-02 2.61e-03 -14 6.25e-07 2.00e+01 27 U-238 fission 9.72e-03 1.21e-03 -15 6.25e-07 2.00e+01 27 U-238 nu-fission 2.71e-02 3.80e-03 sum(distribcell) energy low [MeV] energy high [MeV] nuclide score mean std. dev. + cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 0.00e+00 6.25e-07 U-235 fission 1.08e-01 7.94e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 0.00e+00 6.25e-07 U-235 nu-fission 2.64e-01 1.94e-02 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 0.00e+00 6.25e-07 U-238 fission 1.51e-07 1.00e-08 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 0.00e+00 6.25e-07 U-238 nu-fission 3.76e-07 2.50e-08 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 6.25e-07 2.00e+01 U-235 fission 3.12e-02 2.56e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 6.25e-07 2.00e+01 U-235 nu-fission 7.65e-02 6.24e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 6.25e-07 2.00e+01 U-238 fission 2.00e-02 1.30e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 6.25e-07 2.00e+01 U-238 nu-fission 5.56e-02 3.78e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 0.00e+00 6.25e-07 U-235 fission 4.43e-02 7.21e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 0.00e+00 6.25e-07 U-235 nu-fission 1.08e-01 1.76e-02 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 0.00e+00 6.25e-07 U-238 fission 6.14e-08 9.64e-09 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 0.00e+00 6.25e-07 U-238 nu-fission 1.53e-07 2.40e-08 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 6.25e-07 2.00e+01 U-235 fission 1.39e-02 1.06e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 6.25e-07 2.00e+01 U-235 nu-fission 3.40e-02 2.61e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 6.25e-07 2.00e+01 U-238 fission 9.72e-03 1.21e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 27 6.25e-07 2.00e+01 U-238 nu-fission 2.71e-02 3.80e-03 cell energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 21 0.00e+00 6.25e-07 U-235 fission 1.08e-01 7.94e-03 +1 21 0.00e+00 6.25e-07 U-235 nu-fission 2.64e-01 1.94e-02 +2 21 0.00e+00 6.25e-07 U-238 fission 1.51e-07 1.00e-08 +3 21 0.00e+00 6.25e-07 U-238 nu-fission 3.76e-07 2.50e-08 +4 21 6.25e-07 2.00e+01 U-235 fission 3.12e-02 2.56e-03 +5 21 6.25e-07 2.00e+01 U-235 nu-fission 7.65e-02 6.24e-03 +6 21 6.25e-07 2.00e+01 U-238 fission 2.00e-02 1.30e-03 +7 21 6.25e-07 2.00e+01 U-238 nu-fission 5.56e-02 3.78e-03 +8 27 0.00e+00 6.25e-07 U-235 fission 4.43e-02 7.21e-03 +9 27 0.00e+00 6.25e-07 U-235 nu-fission 1.08e-01 1.76e-02 +10 27 0.00e+00 6.25e-07 U-238 fission 6.14e-08 9.64e-09 +11 27 0.00e+00 6.25e-07 U-238 nu-fission 1.53e-07 2.40e-08 +12 27 6.25e-07 2.00e+01 U-235 fission 1.39e-02 1.06e-03 +13 27 6.25e-07 2.00e+01 U-235 nu-fission 3.40e-02 2.61e-03 +14 27 6.25e-07 2.00e+01 U-238 fission 9.72e-03 1.21e-03 +15 27 6.25e-07 2.00e+01 U-238 nu-fission 2.71e-02 3.80e-03 + sum(distribcell) energy low [MeV] energy high [MeV] nuclide score mean std. dev. 0 (0, 100, 2000, 30000) 0.00e+00 6.25e-07 U-235 fission 0.00e+00 0.00e+00 1 (0, 100, 2000, 30000) 0.00e+00 6.25e-07 U-235 nu-fission 0.00e+00 0.00e+00 2 (0, 100, 2000, 30000) 0.00e+00 6.25e-07 U-238 fission 0.00e+00 0.00e+00 @@ -46,4 +47,21 @@ 12 (500, 5000, 50000) 6.25e-07 2.00e+01 U-235 fission 0.00e+00 0.00e+00 13 (500, 5000, 50000) 6.25e-07 2.00e+01 U-235 nu-fission 0.00e+00 0.00e+00 14 (500, 5000, 50000) 6.25e-07 2.00e+01 U-238 fission 0.00e+00 0.00e+00 -15 (500, 5000, 50000) 6.25e-07 2.00e+01 U-238 nu-fission 0.00e+00 0.00e+00 \ No newline at end of file +15 (500, 5000, 50000) 6.25e-07 2.00e+01 U-238 nu-fission 0.00e+00 0.00e+00 + sum(mesh) energy low [MeV] energy high [MeV] nuclide score mean std. dev. +0 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-07 U-235 fission 9.18e-03 1.62e-03 +1 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-07 U-235 nu-fission 2.24e-02 3.94e-03 +2 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-07 U-238 fission 1.31e-08 2.08e-09 +3 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-07 U-238 nu-fission 3.26e-08 5.19e-09 +4 ((1, 1, 1), (1, 2, 1)) 6.25e-07 2.00e+01 U-235 fission 8.40e-04 2.13e-04 +5 ((1, 1, 1), (1, 2, 1)) 6.25e-07 2.00e+01 U-235 nu-fission 2.06e-03 5.17e-04 +6 ((1, 1, 1), (1, 2, 1)) 6.25e-07 2.00e+01 U-238 fission 7.05e-04 3.42e-04 +7 ((1, 1, 1), (1, 2, 1)) 6.25e-07 2.00e+01 U-238 nu-fission 1.99e-03 1.01e-03 +8 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-07 U-235 fission 8.77e-03 1.30e-03 +9 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-07 U-235 nu-fission 2.14e-02 3.18e-03 +10 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-07 U-238 fission 1.24e-08 1.74e-09 +11 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-07 U-238 nu-fission 3.08e-08 4.33e-09 +12 ((2, 1, 1), (2, 2, 1)) 6.25e-07 2.00e+01 U-235 fission 2.30e-03 6.20e-04 +13 ((2, 1, 1), (2, 2, 1)) 6.25e-07 2.00e+01 U-235 nu-fission 5.63e-03 1.52e-03 +14 ((2, 1, 1), (2, 2, 1)) 6.25e-07 2.00e+01 U-238 fission 1.45e-03 7.19e-04 +15 ((2, 1, 1), (2, 2, 1)) 6.25e-07 2.00e+01 U-238 nu-fission 3.97e-03 1.98e-03 diff --git a/tests/test_tally_slice_merge/test_tally_slice_merge.py b/tests/test_tally_slice_merge/test_tally_slice_merge.py index 4dbb993d59..0b05c088df 100644 --- a/tests/test_tally_slice_merge/test_tally_slice_merge.py +++ b/tests/test_tally_slice_merge/test_tally_slice_merge.py @@ -33,13 +33,21 @@ class TallySliceMergeTestHarness(PyAPITestHarness): cell_27 = openmc.Filter(type='cell', bins=[27]) distribcell_filter = openmc.Filter(type='distribcell', bins=[21]) + mesh = openmc.Mesh(name='mesh') + mesh.type = 'regular' + mesh.dimension = [2, 2] + mesh.lower_left = [-50., -50.] + mesh.upper_right = [+50., +50.] + mesh_filter = openmc.Filter(type='mesh', bins=[mesh.id]) + mesh_filter.mesh = mesh + self.cell_filters = [cell_21, cell_27] self.energy_filters = [low_energy, high_energy] # Initialize cell tallies with filters, nuclides and scores tallies = [] - for cell_filter in self.energy_filters: - for energy_filter in self.cell_filters: + for energy_filter in self.energy_filters: + for cell_filter in self.cell_filters: for nuclide in self.nuclides: for score in self.scores: tally = openmc.Tally() @@ -69,8 +77,18 @@ class TallySliceMergeTestHarness(PyAPITestHarness): for nuclide in self.nuclides: distribcell_tally.add_nuclide(nuclide) + mesh_tally = openmc.Tally(name='mesh tally') + mesh_tally.estimator = 'tracklength' + mesh_tally.add_filter(mesh_filter) + mesh_tally.add_filter(merged_energies) + for score in self.scores: + mesh_tally.add_score(score) + for nuclide in self.nuclides: + mesh_tally.add_nuclide(nuclide) + # Add tallies to a Tallies object - tallies_file = openmc.Tallies((tallies[0], distribcell_tally)) + tallies_file = openmc.Tallies((tallies[0], distribcell_tally, + mesh_tally)) # Export tallies to file self._input_set.tallies = tallies_file @@ -121,7 +139,7 @@ class TallySliceMergeTestHarness(PyAPITestHarness): # Append merged Tally Pandas DataFrame to output string df = tallies[0].get_pandas_dataframe() - outstr += df.to_string() + outstr += df.to_string() + '\n' # Extract the distribcell tally distribcell_tally = sp.get_tally(name='distribcell tally') @@ -138,7 +156,24 @@ class TallySliceMergeTestHarness(PyAPITestHarness): # Append merged Tally Pandas DataFrame to output string df = merge_tally.get_pandas_dataframe() - outstr += df.to_string() + outstr += df.to_string() + '\n' + + # Extract the mesh tally + mesh_tally = sp.get_tally(name='mesh tally') + + # Sum up a few subdomains from the mesh tally + sum1 = mesh_tally.summation(filter_type='mesh', + filter_bins=[(1,1,1), (1,2,1)]) + # Sum up a few subdomains from the mesh tally + sum2 = mesh_tally.summation(filter_type='mesh', + filter_bins=[(2,1,1), (2,2,1)]) + + # Merge the distribcell tally slices + merge_tally = sum1.merge(sum2) + + # Append merged Tally Pandas DataFrame to output string + df = merge_tally.get_pandas_dataframe() + outstr += df.to_string() + '\n' # Hash the results if necessary if hash_output: