Fix bug related to bin ordering for mesh filters

This commit is contained in:
Paul Romano 2018-03-16 13:47:01 -05:00
parent 9e912a933d
commit bd5b7afc2d
7 changed files with 200 additions and 186 deletions

View file

@ -732,37 +732,40 @@ class MeshFilter(Filter):
# Filter bins for a mesh are an (x,y,z) tuple. Convert (x,y,z) to a
# single bin -- this is similar to subroutine mesh_indices_to_bin in
# openmc/src/mesh.F90.
if len(self.mesh.dimension) == 3:
n_dim = len(self.mesh.dimension)
if n_dim == 3:
i, j, k = filter_bin
nx, ny, nz = self.mesh.dimension
val = (filter_bin[0] - 1) * ny * nz + \
(filter_bin[1] - 1) * nz + \
(filter_bin[2] - 1)
else:
return (i - 1) + (j - 1)*nx + (k - 1)*nx*ny
elif n_dim == 2:
i, j, *_ = filter_bin
nx, ny = self.mesh.dimension
val = (filter_bin[0] - 1) * ny + \
(filter_bin[1] - 1)
return val
return (i - 1) + (j - 1)*nx
else:
return filter_bin[0] - 1
def get_bin(self, bin_index):
cv.check_type('bin_index', bin_index, Integral)
cv.check_greater_than('bin_index', bin_index, 0, equality=True)
cv.check_less_than('bin_index', bin_index, self.num_bins)
# Construct 3-tuple of x,y,z cell indices for a 3D mesh
if len(self.mesh.dimension) == 3:
n_dim = len(self.mesh.dimension)
if n_dim == 3:
# Construct 3-tuple of x,y,z cell indices for a 3D mesh
nx, ny, nz = self.mesh.dimension
x = bin_index / (ny * nz)
y = (bin_index - (x * ny * nz)) / nz
z = bin_index - (x * ny * nz) - (y * nz)
x = bin_index % nx + 1
y = (bin_index % (nx * ny)) // nx + 1
z = bin_index // (nx * ny) + 1
return (x, y, z)
# Construct 2-tuple of x,y cell indices for a 2D mesh
else:
elif n_dim == 2:
# Construct 2-tuple of x,y cell indices for a 2D mesh
nx, ny = self.mesh.dimension
x = bin_index / ny
y = bin_index - (x * ny)
x = bin_index % nx + 1
y = bin_index // nx + 1
return (x, y)
else:
return (bin_index + 1,)
def get_pandas_dataframe(self, data_size, stride, **kwargs):
"""Builds a Pandas DataFrame for the Filter's bins.
@ -802,9 +805,10 @@ class MeshFilter(Filter):
mesh_key = 'mesh {0}'.format(self.mesh.id)
# Find mesh dimensions - use 3D indices for simplicity
if len(self.mesh.dimension) == 3:
n_dim = len(self.mesh.dimension)
if n_dim == 3:
nx, ny, nz = self.mesh.dimension
elif len(self.mesh.dimension) == 2:
elif n_dim == 2:
nx, ny = self.mesh.dimension
nz = 1
else:
@ -813,7 +817,7 @@ class MeshFilter(Filter):
# Generate multi-index sub-column for x-axis
filter_bins = np.arange(1, nx + 1)
repeat_factor = ny * nz * stride
repeat_factor = stride
filter_bins = np.repeat(filter_bins, repeat_factor)
tile_factor = data_size // len(filter_bins)
filter_bins = np.tile(filter_bins, tile_factor)
@ -821,7 +825,7 @@ class MeshFilter(Filter):
# Generate multi-index sub-column for y-axis
filter_bins = np.arange(1, ny + 1)
repeat_factor = nz * stride
repeat_factor = nx * stride
filter_bins = np.repeat(filter_bins, repeat_factor)
tile_factor = data_size // len(filter_bins)
filter_bins = np.tile(filter_bins, tile_factor)
@ -829,7 +833,7 @@ class MeshFilter(Filter):
# Generate multi-index sub-column for z-axis
filter_bins = np.arange(1, nz + 1)
repeat_factor = stride
repeat_factor = nx * ny * stride
filter_bins = np.repeat(filter_bins, repeat_factor)
tile_factor = data_size // len(filter_bins)
filter_bins = np.tile(filter_bins, tile_factor)

View file

@ -82,6 +82,24 @@ class Mesh(IDManagerMixin):
def num_mesh_cells(self):
return np.prod(self._dimension)
@property
def indices(self):
ndim = len(self._dimension)
if ndim == 3:
nx, ny, nz = self.dimension
return ((x, y, z)
for z in range(1, nz + 1)
for y in range(1, ny + 1)
for x in range(1, nx + 1))
elif ndim == 2:
nx, ny = self.dimension
return ((x, y)
for y in range(1, ny + 1)
for x in range(1, nx + 1))
else:
nx, = self.dimension
return ((x,) for x in range(1, nx + 1))
@name.setter
def name(self, name):
if name is not None:

View file

@ -4,7 +4,6 @@ import warnings
import os
import copy
from abc import ABCMeta
import itertools
import numpy as np
import h5py
@ -937,8 +936,7 @@ class MGXS(metaclass=ABCMeta):
# NOTE: This is important if tally merging was used
if self.domain_type == 'mesh':
filters = [_DOMAIN_TO_FILTER[self.domain_type]]
xyz = [range(1, x + 1) for x in self.domain.dimension]
filter_bins = [tuple(itertools.product(*xyz))]
filter_bins = [tuple(self.domain.indices)]
elif self.domain_type != 'distribcell':
filters = [_DOMAIN_TO_FILTER[self.domain_type]]
filter_bins = [(self.domain.id,)]
@ -1531,8 +1529,7 @@ class MGXS(metaclass=ABCMeta):
elif self.domain_type == 'distribcell':
subdomains = np.arange(self.num_subdomains, dtype=np.int)
elif self.domain_type == 'mesh':
xyz = [range(1, x + 1) for x in self.domain.dimension]
subdomains = list(itertools.product(*xyz))
subdomains = list(self.domain.indices)
else:
subdomains = [self.domain.id]
@ -1702,8 +1699,7 @@ class MGXS(metaclass=ABCMeta):
domain_filter = self.xs_tally.find_filter('sum(distribcell)')
subdomains = domain_filter.bins
elif self.domain_type == 'mesh':
xyz = [range(1, x+1) for x in self.domain.dimension]
subdomains = list(itertools.product(*xyz))
subdomains = list(self.domain.indices)
else:
subdomains = [self.domain.id]
@ -2342,8 +2338,7 @@ class MatrixMGXS(MGXS):
elif self.domain_type == 'distribcell':
subdomains = np.arange(self.num_subdomains, dtype=np.int)
elif self.domain_type == 'mesh':
xyz = [range(1, x + 1) for x in self.domain.dimension]
subdomains = list(itertools.product(*xyz))
subdomains = list(self.domain.indices)
else:
subdomains = [self.domain.id]
@ -4530,8 +4525,7 @@ class ScatterMatrixXS(MatrixMGXS):
elif self.domain_type == 'distribcell':
subdomains = np.arange(self.num_subdomains, dtype=np.int)
elif self.domain_type == 'mesh':
xyz = [range(1, x + 1) for x in self.domain.dimension]
subdomains = list(itertools.product(*xyz))
subdomains = list(self.domain.indices)
else:
subdomains = [self.domain.id]

View file

@ -1164,9 +1164,7 @@ class Tally(IDManagerMixin):
if not user_filter:
# Create list of 2- or 3-tuples tuples for mesh cell bins
if isinstance(self_filter, openmc.MeshFilter):
dimension = self_filter.mesh.dimension
xyz = [range(1, x+1) for x in dimension]
bins = list(product(*xyz))
bins = list(self_filter.mesh.indices)
# Create list of 2-tuples for energy boundary bins
elif isinstance(self_filter, (openmc.EnergyFilter,

View file

@ -1,62 +1,62 @@
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.762544 0.085298
1 1 2 1 1 total 0.653375 0.153317
2 2 1 1 1 total 0.644837 0.088457
2 1 2 1 1 total 0.644837 0.088457
1 2 1 1 1 total 0.653375 0.153317
3 2 2 1 1 total 0.676480 0.094215
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.473988 0.088732
1 1 2 1 1 total 0.379821 0.167092
2 2 1 1 1 total 0.399254 0.091318
2 1 2 1 1 total 0.399254 0.091318
1 2 1 1 1 total 0.379821 0.167092
3 2 2 1 1 total 0.424265 0.099551
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.473988 0.088732
1 1 2 1 1 total 0.379821 0.167092
2 2 1 1 1 total 0.399254 0.091318
2 1 2 1 1 total 0.399254 0.091318
1 2 1 1 1 total 0.379821 0.167092
3 2 2 1 1 total 0.424265 0.099551
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.027288 0.005813
1 1 2 1 1 total 0.019449 0.004420
2 2 1 1 1 total 0.020262 0.003701
2 1 2 1 1 total 0.020262 0.003701
1 2 1 1 1 total 0.019449 0.004420
3 2 2 1 1 total 0.021266 0.002869
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.016037 0.006339
1 1 2 1 1 total 0.012153 0.003804
2 2 1 1 1 total 0.013018 0.003521
2 1 2 1 1 total 0.013018 0.003521
1 2 1 1 1 total 0.012153 0.003804
3 2 2 1 1 total 0.012965 0.002454
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.011251 0.003050
1 1 2 1 1 total 0.007296 0.001795
2 2 1 1 1 total 0.007243 0.001219
2 1 2 1 1 total 0.007243 0.001219
1 2 1 1 1 total 0.007296 0.001795
3 2 2 1 1 total 0.008301 0.001066
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.027498 0.007445
1 1 2 1 1 total 0.017912 0.004426
2 2 1 1 1 total 0.017954 0.003077
2 1 2 1 1 total 0.017954 0.003077
1 2 1 1 1 total 0.017912 0.004426
3 2 2 1 1 total 0.020469 0.002617
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 2.177345e+06 589804.299388
1 1 2 1 1 total 1.413154e+06 347806.623417
2 2 1 1 1 total 1.404096e+06 236476.851953
2 1 2 1 1 total 1.404096e+06 236476.851953
1 2 1 1 1 total 1.413154e+06 347806.623417
3 2 2 1 1 total 1.608259e+06 206502.707865
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.735256 0.080216
1 1 2 1 1 total 0.633925 0.149098
2 2 1 1 1 total 0.624575 0.084974
2 1 2 1 1 total 0.624575 0.084974
1 2 1 1 1 total 0.633925 0.149098
3 2 2 1 1 total 0.655214 0.091422
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.763779 0.070696
1 1 2 1 1 total 0.640809 0.158369
2 2 1 1 1 total 0.628158 0.064356
2 1 2 1 1 total 0.628158 0.064356
1 2 1 1 1 total 0.640809 0.158369
3 2 2 1 1 total 0.645171 0.080467
mesh 1 group in group out nuclide moment mean std. dev.
x y z
@ -64,14 +64,14 @@
1 1 1 1 1 1 total P1 0.288556 0.024446
2 1 1 1 1 1 total P2 0.082441 0.011443
3 1 1 1 1 1 total P3 -0.005627 0.012638
4 1 2 1 1 1 total P0 0.640809 0.158369
5 1 2 1 1 1 total P1 0.273553 0.066437
6 1 2 1 1 1 total P2 0.108446 0.024435
7 1 2 1 1 1 total P3 0.012229 0.003785
8 2 1 1 1 1 total P0 0.628158 0.064356
9 2 1 1 1 1 total P1 0.245583 0.022676
10 2 1 1 1 1 total P2 0.086370 0.007833
11 2 1 1 1 1 total P3 0.019590 0.005345
8 1 2 1 1 1 total P0 0.628158 0.064356
9 1 2 1 1 1 total P1 0.245583 0.022676
10 1 2 1 1 1 total P2 0.086370 0.007833
11 1 2 1 1 1 total P3 0.019590 0.005345
4 2 1 1 1 1 total P0 0.640809 0.158369
5 2 1 1 1 1 total P1 0.273553 0.066437
6 2 1 1 1 1 total P2 0.108446 0.024435
7 2 1 1 1 1 total P3 0.012229 0.003785
12 2 2 1 1 1 total P0 0.645171 0.080467
13 2 2 1 1 1 total P1 0.252215 0.032154
14 2 2 1 1 1 total P2 0.089251 0.009734
@ -82,14 +82,14 @@
1 1 1 1 1 1 total P1 0.288556 0.024446
2 1 1 1 1 1 total P2 0.082441 0.011443
3 1 1 1 1 1 total P3 -0.005627 0.012638
4 1 2 1 1 1 total P0 0.640809 0.158369
5 1 2 1 1 1 total P1 0.273553 0.066437
6 1 2 1 1 1 total P2 0.108446 0.024435
7 1 2 1 1 1 total P3 0.012229 0.003785
8 2 1 1 1 1 total P0 0.628158 0.064356
9 2 1 1 1 1 total P1 0.245583 0.022676
10 2 1 1 1 1 total P2 0.086370 0.007833
11 2 1 1 1 1 total P3 0.019590 0.005345
8 1 2 1 1 1 total P0 0.628158 0.064356
9 1 2 1 1 1 total P1 0.245583 0.022676
10 1 2 1 1 1 total P2 0.086370 0.007833
11 1 2 1 1 1 total P3 0.019590 0.005345
4 2 1 1 1 1 total P0 0.640809 0.158369
5 2 1 1 1 1 total P1 0.273553 0.066437
6 2 1 1 1 1 total P2 0.108446 0.024435
7 2 1 1 1 1 total P3 0.012229 0.003785
12 2 2 1 1 1 total P0 0.645171 0.080467
13 2 2 1 1 1 total P1 0.252215 0.032154
14 2 2 1 1 1 total P2 0.089251 0.009734
@ -97,20 +97,20 @@
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 1.0 0.108337
1 1 2 1 1 1 total 1.0 0.238517
2 2 1 1 1 1 total 1.0 0.113128
2 1 2 1 1 1 total 1.0 0.113128
1 2 1 1 1 1 total 1.0 0.238517
3 2 2 1 1 1 total 1.0 0.132597
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.015584 0.003404
1 1 2 1 1 1 total 0.014200 0.003676
2 2 1 1 1 1 total 0.017684 0.002499
2 1 2 1 1 1 total 0.017684 0.002499
1 2 1 1 1 1 total 0.014200 0.003676
3 2 2 1 1 1 total 0.022409 0.002481
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 1.0 0.108337
1 1 2 1 1 1 total 1.0 0.238517
2 2 1 1 1 1 total 1.0 0.113128
2 1 2 1 1 1 total 1.0 0.113128
1 2 1 1 1 1 total 1.0 0.238517
3 2 2 1 1 1 total 1.0 0.132597
mesh 1 group in group out nuclide moment mean std. dev.
x y z
@ -118,14 +118,14 @@
1 1 1 1 1 1 total P1 0.277780 0.041434
2 1 1 1 1 1 total P2 0.079362 0.014706
3 1 1 1 1 1 total P3 -0.005417 0.012184
4 1 2 1 1 1 total P0 0.633925 0.212349
5 1 2 1 1 1 total P1 0.270615 0.089799
6 1 2 1 1 1 total P2 0.107281 0.034246
7 1 2 1 1 1 total P3 0.012098 0.004637
8 2 1 1 1 1 total P0 0.624575 0.110512
9 2 1 1 1 1 total P1 0.244182 0.041824
10 2 1 1 1 1 total P2 0.085877 0.014634
11 2 1 1 1 1 total P3 0.019478 0.006012
8 1 2 1 1 1 total P0 0.624575 0.110512
9 1 2 1 1 1 total P1 0.244182 0.041824
10 1 2 1 1 1 total P2 0.085877 0.014634
11 1 2 1 1 1 total P3 0.019478 0.006012
4 2 1 1 1 1 total P0 0.633925 0.212349
5 2 1 1 1 1 total P1 0.270615 0.089799
6 2 1 1 1 1 total P2 0.107281 0.034246
7 2 1 1 1 1 total P3 0.012098 0.004637
12 2 2 1 1 1 total P0 0.655214 0.126119
13 2 2 1 1 1 total P1 0.256141 0.049765
14 2 2 1 1 1 total P2 0.090641 0.016563
@ -136,14 +136,14 @@
1 1 1 1 1 1 total P1 0.277780 0.051210
2 1 1 1 1 1 total P2 0.079362 0.017035
3 1 1 1 1 1 total P3 -0.005417 0.012198
4 1 2 1 1 1 total P0 0.633925 0.260681
5 1 2 1 1 1 total P1 0.270615 0.110590
6 1 2 1 1 1 total P2 0.107281 0.042750
7 1 2 1 1 1 total P3 0.012098 0.005462
8 2 1 1 1 1 total P0 0.624575 0.131169
9 2 1 1 1 1 total P1 0.244182 0.050123
10 2 1 1 1 1 total P2 0.085877 0.017565
11 2 1 1 1 1 total P3 0.019478 0.006403
8 1 2 1 1 1 total P0 0.624575 0.131169
9 1 2 1 1 1 total P1 0.244182 0.050123
10 1 2 1 1 1 total P2 0.085877 0.017565
11 1 2 1 1 1 total P3 0.019478 0.006403
4 2 1 1 1 1 total P0 0.633925 0.260681
5 2 1 1 1 1 total P1 0.270615 0.110590
6 2 1 1 1 1 total P2 0.107281 0.042750
7 2 1 1 1 1 total P3 0.012098 0.005462
12 2 2 1 1 1 total P0 0.655214 0.153147
13 2 2 1 1 1 total P1 0.256141 0.060250
14 2 2 1 1 1 total P2 0.090641 0.020464
@ -151,32 +151,32 @@
mesh 1 group out nuclide mean std. dev.
x y z
0 1 1 1 1 total 1.0 0.300047
1 1 2 1 1 total 1.0 0.262180
2 2 1 1 1 total 1.0 0.178169
2 1 2 1 1 total 1.0 0.178169
1 2 1 1 1 total 1.0 0.262180
3 2 2 1 1 total 1.0 0.104797
mesh 1 group out nuclide mean std. dev.
x y z
0 1 1 1 1 total 1.0 0.300047
1 1 2 1 1 total 1.0 0.262180
2 2 1 1 1 total 1.0 0.178169
2 1 2 1 1 total 1.0 0.178169
1 2 1 1 1 total 1.0 0.262180
3 2 2 1 1 total 1.0 0.108931
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 7.097008e-07 1.458546e-07
1 1 2 1 1 total 3.984535e-07 1.157576e-07
2 2 1 1 1 total 4.407745e-07 7.903907e-08
2 1 2 1 1 total 4.407745e-07 7.903907e-08
1 2 1 1 1 total 3.984535e-07 1.157576e-07
3 2 2 1 1 total 4.750476e-07 6.207437e-08
mesh 1 group in nuclide mean std. dev.
x y z
0 1 1 1 1 total 0.027311 0.007397
1 1 2 1 1 total 0.017783 0.004394
2 2 1 1 1 total 0.017820 0.003054
2 1 2 1 1 total 0.017820 0.003054
1 2 1 1 1 total 0.017783 0.004394
3 2 2 1 1 total 0.020320 0.002598
mesh 1 group in group out nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.015584 0.003404
1 1 2 1 1 1 total 0.014200 0.003676
2 2 1 1 1 1 total 0.017684 0.002499
2 1 2 1 1 1 total 0.017684 0.002499
1 2 1 1 1 1 total 0.014200 0.003676
3 2 2 1 1 1 total 0.022259 0.002508
mesh 1 delayedgroup group in nuclide mean std. dev.
x y z
@ -186,18 +186,18 @@
3 1 1 1 4 1 total 0.000072 1.866015e-05
4 1 1 1 5 1 total 0.000031 7.654909e-06
5 1 1 1 6 1 total 0.000013 3.206343e-06
6 1 2 1 1 1 total 0.000004 1.003100e-06
7 1 2 1 2 1 total 0.000022 5.425275e-06
8 1 2 1 3 1 total 0.000021 5.324236e-06
9 1 2 1 4 1 total 0.000050 1.251572e-05
10 1 2 1 5 1 total 0.000022 5.762184e-06
11 1 2 1 6 1 total 0.000009 2.391676e-06
12 2 1 1 1 1 total 0.000004 6.723192e-07
13 2 1 1 2 1 total 0.000022 3.706235e-06
14 2 1 1 3 1 total 0.000022 3.674263e-06
15 2 1 1 4 1 total 0.000052 8.774048e-06
16 2 1 1 5 1 total 0.000024 4.168024e-06
17 2 1 1 6 1 total 0.000010 1.726268e-06
12 1 2 1 1 1 total 0.000004 6.723192e-07
13 1 2 1 2 1 total 0.000022 3.706235e-06
14 1 2 1 3 1 total 0.000022 3.674263e-06
15 1 2 1 4 1 total 0.000052 8.774048e-06
16 1 2 1 5 1 total 0.000024 4.168024e-06
17 1 2 1 6 1 total 0.000010 1.726268e-06
6 2 1 1 1 1 total 0.000004 1.003100e-06
7 2 1 1 2 1 total 0.000022 5.425275e-06
8 2 1 1 3 1 total 0.000021 5.324236e-06
9 2 1 1 4 1 total 0.000050 1.251572e-05
10 2 1 1 5 1 total 0.000022 5.762184e-06
11 2 1 1 6 1 total 0.000009 2.391676e-06
18 2 2 1 1 1 total 0.000005 5.962367e-07
19 2 2 1 2 1 total 0.000025 3.200900e-06
20 2 2 1 3 1 total 0.000025 3.127442e-06
@ -212,18 +212,18 @@
3 1 1 1 4 1 total 0.0 0.000000
4 1 1 1 5 1 total 0.0 0.000000
5 1 1 1 6 1 total 0.0 0.000000
6 1 2 1 1 1 total 0.0 0.000000
7 1 2 1 2 1 total 0.0 0.000000
8 1 2 1 3 1 total 0.0 0.000000
9 1 2 1 4 1 total 0.0 0.000000
10 1 2 1 5 1 total 0.0 0.000000
11 1 2 1 6 1 total 0.0 0.000000
12 2 1 1 1 1 total 0.0 0.000000
13 2 1 1 2 1 total 0.0 0.000000
14 2 1 1 3 1 total 0.0 0.000000
15 2 1 1 4 1 total 0.0 0.000000
16 2 1 1 5 1 total 0.0 0.000000
17 2 1 1 6 1 total 0.0 0.000000
12 1 2 1 1 1 total 0.0 0.000000
13 1 2 1 2 1 total 0.0 0.000000
14 1 2 1 3 1 total 0.0 0.000000
15 1 2 1 4 1 total 0.0 0.000000
16 1 2 1 5 1 total 0.0 0.000000
17 1 2 1 6 1 total 0.0 0.000000
6 2 1 1 1 1 total 0.0 0.000000
7 2 1 1 2 1 total 0.0 0.000000
8 2 1 1 3 1 total 0.0 0.000000
9 2 1 1 4 1 total 0.0 0.000000
10 2 1 1 5 1 total 0.0 0.000000
11 2 1 1 6 1 total 0.0 0.000000
18 2 2 1 1 1 total 0.0 0.000000
19 2 2 1 2 1 total 0.0 0.000000
20 2 2 1 3 1 total 1.0 1.414214
@ -238,18 +238,18 @@
3 1 1 1 4 1 total 0.002629 0.000950
4 1 1 1 5 1 total 0.001125 0.000398
5 1 1 1 6 1 total 0.000470 0.000166
6 1 2 1 1 1 total 0.000228 0.000057
7 1 2 1 2 1 total 0.001222 0.000309
8 1 2 1 3 1 total 0.001193 0.000304
9 1 2 1 4 1 total 0.002780 0.000713
10 1 2 1 5 1 total 0.001250 0.000328
11 1 2 1 6 1 total 0.000520 0.000136
12 2 1 1 1 1 total 0.000225 0.000044
13 2 1 1 2 1 total 0.001232 0.000242
14 2 1 1 3 1 total 0.001216 0.000239
15 2 1 1 4 1 total 0.002882 0.000570
16 2 1 1 5 1 total 0.001345 0.000270
17 2 1 1 6 1 total 0.000558 0.000112
12 1 2 1 1 1 total 0.000225 0.000044
13 1 2 1 2 1 total 0.001232 0.000242
14 1 2 1 3 1 total 0.001216 0.000239
15 1 2 1 4 1 total 0.002882 0.000570
16 1 2 1 5 1 total 0.001345 0.000270
17 1 2 1 6 1 total 0.000558 0.000112
6 2 1 1 1 1 total 0.000228 0.000057
7 2 1 1 2 1 total 0.001222 0.000309
8 2 1 1 3 1 total 0.001193 0.000304
9 2 1 1 4 1 total 0.002780 0.000713
10 2 1 1 5 1 total 0.001250 0.000328
11 2 1 1 6 1 total 0.000520 0.000136
18 2 2 1 1 1 total 0.000227 0.000027
19 2 2 1 2 1 total 0.001225 0.000143
20 2 2 1 3 1 total 0.001201 0.000140
@ -264,18 +264,18 @@
3 1 1 1 4 1 total 0.304289 0.106753
4 1 1 1 5 1 total 0.855760 0.286466
5 1 1 1 6 1 total 2.874120 0.965609
6 1 2 1 1 1 total 0.013357 0.003345
7 1 2 1 2 1 total 0.032590 0.008273
8 1 2 1 3 1 total 0.121103 0.031074
9 1 2 1 4 1 total 0.306111 0.080011
10 1 2 1 5 1 total 0.862660 0.235694
11 1 2 1 6 1 total 2.897534 0.788926
12 2 1 1 1 1 total 0.013367 0.002548
13 2 1 1 2 1 total 0.032520 0.006266
14 2 1 1 3 1 total 0.121250 0.023544
15 2 1 1 4 1 total 0.307552 0.060464
16 2 1 1 5 1 total 0.867665 0.175131
17 2 1 1 6 1 total 2.914635 0.587161
12 1 2 1 1 1 total 0.013367 0.002548
13 1 2 1 2 1 total 0.032520 0.006266
14 1 2 1 3 1 total 0.121250 0.023544
15 1 2 1 4 1 total 0.307552 0.060464
16 1 2 1 5 1 total 0.867665 0.175131
17 1 2 1 6 1 total 2.914635 0.587161
6 2 1 1 1 1 total 0.013357 0.003345
7 2 1 1 2 1 total 0.032590 0.008273
8 2 1 1 3 1 total 0.121103 0.031074
9 2 1 1 4 1 total 0.306111 0.080011
10 2 1 1 5 1 total 0.862660 0.235694
11 2 1 1 6 1 total 2.897534 0.788926
18 2 2 1 1 1 total 0.013360 0.001587
19 2 2 1 2 1 total 0.032564 0.003810
20 2 2 1 3 1 total 0.121158 0.014038
@ -290,18 +290,18 @@
3 1 1 1 4 1 1 total 0.00000 0.000000
4 1 1 1 5 1 1 total 0.00000 0.000000
5 1 1 1 6 1 1 total 0.00000 0.000000
6 1 2 1 1 1 1 total 0.00000 0.000000
7 1 2 1 2 1 1 total 0.00000 0.000000
8 1 2 1 3 1 1 total 0.00000 0.000000
9 1 2 1 4 1 1 total 0.00000 0.000000
10 1 2 1 5 1 1 total 0.00000 0.000000
11 1 2 1 6 1 1 total 0.00000 0.000000
12 2 1 1 1 1 1 total 0.00000 0.000000
13 2 1 1 2 1 1 total 0.00000 0.000000
14 2 1 1 3 1 1 total 0.00000 0.000000
15 2 1 1 4 1 1 total 0.00000 0.000000
16 2 1 1 5 1 1 total 0.00000 0.000000
17 2 1 1 6 1 1 total 0.00000 0.000000
12 1 2 1 1 1 1 total 0.00000 0.000000
13 1 2 1 2 1 1 total 0.00000 0.000000
14 1 2 1 3 1 1 total 0.00000 0.000000
15 1 2 1 4 1 1 total 0.00000 0.000000
16 1 2 1 5 1 1 total 0.00000 0.000000
17 1 2 1 6 1 1 total 0.00000 0.000000
6 2 1 1 1 1 1 total 0.00000 0.000000
7 2 1 1 2 1 1 total 0.00000 0.000000
8 2 1 1 3 1 1 total 0.00000 0.000000
9 2 1 1 4 1 1 total 0.00000 0.000000
10 2 1 1 5 1 1 total 0.00000 0.000000
11 2 1 1 6 1 1 total 0.00000 0.000000
18 2 2 1 1 1 1 total 0.00000 0.000000
19 2 2 1 2 1 1 total 0.00000 0.000000
20 2 2 1 3 1 1 total 0.00015 0.000151

View file

@ -48,20 +48,20 @@
13 (500, 5000, 50000) 6.25e-01 2.00e+07 U235 nu-fission 0.00e+00 0.00e+00
14 (500, 5000, 50000) 6.25e-01 2.00e+07 U238 fission 0.00e+00 0.00e+00
15 (500, 5000, 50000) 6.25e-01 2.00e+07 U238 nu-fission 0.00e+00 0.00e+00
sum(mesh) energy low [eV] energy high [eV] nuclide score mean std. dev.
0 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-01 U235 fission 1.48e-02 3.65e-03
1 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-01 U235 nu-fission 3.60e-02 8.90e-03
2 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-01 U238 fission 2.06e-08 4.98e-09
3 ((1, 1, 1), (1, 2, 1)) 0.00e+00 6.25e-01 U238 nu-fission 5.14e-08 1.24e-08
4 ((1, 1, 1), (1, 2, 1)) 6.25e-01 2.00e+07 U235 fission 2.23e-03 3.92e-04
5 ((1, 1, 1), (1, 2, 1)) 6.25e-01 2.00e+07 U235 nu-fission 5.45e-03 9.56e-04
6 ((1, 1, 1), (1, 2, 1)) 6.25e-01 2.00e+07 U238 fission 5.58e-04 2.08e-04
7 ((1, 1, 1), (1, 2, 1)) 6.25e-01 2.00e+07 U238 nu-fission 1.50e-03 5.43e-04
8 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-01 U235 fission 2.56e-02 5.50e-03
9 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-01 U235 nu-fission 6.24e-02 1.34e-02
10 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-01 U238 fission 3.55e-08 7.70e-09
11 ((2, 1, 1), (2, 2, 1)) 0.00e+00 6.25e-01 U238 nu-fission 8.85e-08 1.92e-08
12 ((2, 1, 1), (2, 2, 1)) 6.25e-01 2.00e+07 U235 fission 5.01e-03 1.38e-03
13 ((2, 1, 1), (2, 2, 1)) 6.25e-01 2.00e+07 U235 nu-fission 1.22e-02 3.37e-03
14 ((2, 1, 1), (2, 2, 1)) 6.25e-01 2.00e+07 U238 fission 2.40e-03 2.69e-04
15 ((2, 1, 1), (2, 2, 1)) 6.25e-01 2.00e+07 U238 nu-fission 6.60e-03 7.63e-04
sum(mesh) energy low [eV] energy high [eV] nuclide score mean std. dev.
0 ((1, 1), (1, 2)) 0.00e+00 6.25e-01 U235 fission 0.00e+00 0.00e+00
1 ((1, 1), (1, 2)) 0.00e+00 6.25e-01 U235 nu-fission 0.00e+00 0.00e+00
2 ((1, 1), (1, 2)) 0.00e+00 6.25e-01 U238 fission 0.00e+00 0.00e+00
3 ((1, 1), (1, 2)) 0.00e+00 6.25e-01 U238 nu-fission 0.00e+00 0.00e+00
4 ((1, 1), (1, 2)) 6.25e-01 2.00e+07 U235 fission 1.60e-04 1.60e-04
5 ((1, 1), (1, 2)) 6.25e-01 2.00e+07 U235 nu-fission 3.91e-04 3.91e-04
6 ((1, 1), (1, 2)) 6.25e-01 2.00e+07 U238 fission 5.12e-05 5.12e-05
7 ((1, 1), (1, 2)) 6.25e-01 2.00e+07 U238 nu-fission 1.36e-04 1.36e-04
8 ((2, 1), (2, 2)) 0.00e+00 6.25e-01 U235 fission 4.04e-02 6.60e-03
9 ((2, 1), (2, 2)) 0.00e+00 6.25e-01 U235 nu-fission 9.85e-02 1.61e-02
10 ((2, 1), (2, 2)) 0.00e+00 6.25e-01 U238 fission 5.61e-08 9.18e-09
11 ((2, 1), (2, 2)) 0.00e+00 6.25e-01 U238 nu-fission 1.40e-07 2.29e-08
12 ((2, 1), (2, 2)) 6.25e-01 2.00e+07 U235 fission 7.08e-03 1.43e-03
13 ((2, 1), (2, 2)) 6.25e-01 2.00e+07 U235 nu-fission 1.73e-02 3.48e-03
14 ((2, 1), (2, 2)) 6.25e-01 2.00e+07 U238 fission 2.91e-03 3.36e-04
15 ((2, 1), (2, 2)) 6.25e-01 2.00e+07 U238 nu-fission 7.96e-03 9.27e-04

View file

@ -126,10 +126,10 @@ class TallySliceMergeTestHarness(PyAPITestHarness):
# Sum up a few subdomains from the distribcell tally
sum1 = distribcell_tally.summation(filter_type=openmc.DistribcellFilter,
filter_bins=[0,100,2000,30000])
filter_bins=[0, 100, 2000, 30000])
# Sum up a few subdomains from the distribcell tally
sum2 = distribcell_tally.summation(filter_type=openmc.DistribcellFilter,
filter_bins=[500,5000,50000])
filter_bins=[500, 5000, 50000])
# Merge the distribcell tally slices
merge_tally = sum1.merge(sum2)
@ -143,10 +143,10 @@ class TallySliceMergeTestHarness(PyAPITestHarness):
# Sum up a few subdomains from the mesh tally
sum1 = mesh_tally.summation(filter_type=openmc.MeshFilter,
filter_bins=[(1,1,1), (1,2,1)])
filter_bins=[(1, 1), (1, 2)])
# Sum up a few subdomains from the mesh tally
sum2 = mesh_tally.summation(filter_type=openmc.MeshFilter,
filter_bins=[(2,1,1), (2,2,1)])
filter_bins=[(2, 1), (2, 2)])
# Merge the mesh tally slices
merge_tally = sum1.merge(sum2)