diff --git a/openmc/__init__.py b/openmc/__init__.py
index 98bf19f981..d692ebbae2 100644
--- a/openmc/__init__.py
+++ b/openmc/__init__.py
@@ -1,7 +1,6 @@
from openmc.arithmetic import *
from openmc.cell import *
from openmc.mesh import *
-from openmc.lattice import *
from openmc.element import *
from openmc.geometry import *
from openmc.nuclide import *
@@ -14,6 +13,7 @@ from openmc.source import *
from openmc.settings import *
from openmc.surface import *
from openmc.universe import *
+from openmc.lattice import *
from openmc.filter import *
from openmc.trigger import *
from openmc.tally_derivative import *
diff --git a/openmc/cell.py b/openmc/cell.py
index 8dd97c0fcf..5f8baa589d 100644
--- a/openmc/cell.py
+++ b/openmc/cell.py
@@ -13,19 +13,10 @@ import openmc
import openmc.checkvalue as cv
from openmc.surface import Halfspace
from openmc.region import Region, Intersection, Complement
+from .mixin import IDManagerMixin
-# A static variable for auto-generated Cell IDs
-AUTO_CELL_ID = 10000
-
-
-def reset_auto_cell_id():
- """Reset counter for auto-generated cell IDs."""
- global AUTO_CELL_ID
- AUTO_CELL_ID = 10000
-
-
-class Cell(object):
+class Cell(IDManagerMixin):
r"""A region of space defined as the intersection of half-space created by
quadric surfaces.
@@ -93,6 +84,9 @@ class Cell(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, cell_id=None, name='', fill=None, region=None):
# Initialize Cell class attributes
self.id = cell_id
@@ -164,10 +158,6 @@ class Cell(object):
return string
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -236,17 +226,6 @@ class Cell(object):
'Geometry.determine_paths() method.')
return self._num_instances
- @id.setter
- def id(self, cell_id):
- if cell_id is None:
- global AUTO_CELL_ID
- self._id = AUTO_CELL_ID
- AUTO_CELL_ID += 1
- else:
- cv.check_type('cell ID', cell_id, Integral)
- cv.check_greater_than('cell ID', cell_id, 0, equality=True)
- self._id = cell_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/filter.py b/openmc/filter.py
index 734759d6bc..90f749668d 100644
--- a/openmc/filter.py
+++ b/openmc/filter.py
@@ -12,11 +12,9 @@ import pandas as pd
import openmc
import openmc.checkvalue as cv
+from .mixin import IDManagerMixin
-# "Static" variable for auto-generated Filter IDs
-AUTO_FILTER_ID = 10000
-
_FILTER_TYPES = ['universe', 'material', 'cell', 'cellborn', 'surface',
'mesh', 'energy', 'energyout', 'mu', 'polar', 'azimuthal',
'distribcell', 'delayedgroup', 'energyfunction']
@@ -29,12 +27,6 @@ _CURRENT_NAMES = {1: 'x-min out', 2: 'x-min in',
11: 'z-max out', 12: 'z-max in'}
-def reset_auto_filter_id():
- """Reset counter for auto-generated filter IDs."""
- global AUTO_FILTER_ID
- AUTO_FILTER_ID = 10000
-
-
class FilterMeta(ABCMeta):
def __new__(cls, name, bases, namespace, **kwargs):
# Check the class name.
@@ -74,7 +66,7 @@ class FilterMeta(ABCMeta):
@add_metaclass(FilterMeta)
-class Filter(object):
+class Filter(IDManagerMixin):
"""Tally modifier that describes phase-space and other characteristics.
Parameters
@@ -100,6 +92,9 @@ class Filter(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, bins, filter_id=None):
self.bins = bins
self.id = filter_id
@@ -195,10 +190,6 @@ class Filter(object):
def bins(self):
return self._bins
- @property
- def id(self):
- return self._id
-
@property
def num_bins(self):
return self._num_bins
@@ -217,17 +208,6 @@ class Filter(object):
self._bins = bins
- @id.setter
- def id(self, filter_id):
- if filter_id is None:
- global AUTO_FILTER_ID
- self._id = AUTO_FILTER_ID
- AUTO_FILTER_ID += 1
- else:
- cv.check_type('filter ID', filter_id, Integral)
- cv.check_greater_than('filter ID', filter_id, 0, equality=True)
- self._id = filter_id
-
@num_bins.setter
def num_bins(self, num_bins):
cv.check_type('filter num_bins', num_bins, Integral)
diff --git a/openmc/geometry.py b/openmc/geometry.py
index 860d3028ff..6b1e6cb72f 100644
--- a/openmc/geometry.py
+++ b/openmc/geometry.py
@@ -7,14 +7,14 @@ from six import string_types
import openmc
from openmc.clean_xml import sort_xml_elements, clean_xml_indentation
from openmc.checkvalue import check_type
+from openmc.mixin import IDManagerMixin
def reset_auto_ids():
"""Reset counters for all auto-generated IDs"""
- openmc.reset_auto_material_id()
- openmc.reset_auto_surface_id()
- openmc.reset_auto_cell_id()
- openmc.reset_auto_universe_id()
+ for cls in IDManagerMixin.__subclasses__():
+ cls.used_ids.clear()
+ cls.next_id = 1
class Geometry(object):
diff --git a/openmc/lattice.py b/openmc/lattice.py
index be5f22db93..3d078bd014 100644
--- a/openmc/lattice.py
+++ b/openmc/lattice.py
@@ -12,10 +12,11 @@ import numpy as np
import openmc.checkvalue as cv
import openmc
+from openmc.mixin import IDManagerMixin
@add_metaclass(ABCMeta)
-class Lattice(object):
+class Lattice(IDManagerMixin):
"""A repeating structure wherein each element is a universe.
Parameters
@@ -41,6 +42,10 @@ class Lattice(object):
of the lattice
"""
+
+ next_id = 1
+ used_ids = openmc.Universe.used_ids
+
def __init__(self, lattice_id=None, name=''):
# Initialize Lattice class attributes
self.id = lattice_id
@@ -68,10 +73,6 @@ class Lattice(object):
def __ne__(self, other):
return not self == other
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -88,16 +89,6 @@ class Lattice(object):
def universes(self):
return self._universes
- @id.setter
- def id(self, lattice_id):
- if lattice_id is None:
- self._id = openmc.universe.AUTO_UNIVERSE_ID
- openmc.universe.AUTO_UNIVERSE_ID += 1
- else:
- cv.check_type('lattice ID', lattice_id, Integral)
- cv.check_greater_than('lattice ID', lattice_id, 0, equality=True)
- self._id = lattice_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/material.py b/openmc/material.py
index da415ec680..762332584a 100644
--- a/openmc/material.py
+++ b/openmc/material.py
@@ -11,16 +11,7 @@ import openmc
import openmc.data
import openmc.checkvalue as cv
from openmc.clean_xml import sort_xml_elements, clean_xml_indentation
-
-
-# A static variable for auto-generated Material IDs
-AUTO_MATERIAL_ID = 10000
-
-
-def reset_auto_material_id():
- """Reset counter for auto-generated material IDs."""
- global AUTO_MATERIAL_ID
- AUTO_MATERIAL_ID = 10000
+from .mixin import IDManagerMixin
# Units for density supported by OpenMC
@@ -28,7 +19,7 @@ DENSITY_UNITS = ['g/cm3', 'g/cc', 'kg/cm3', 'atom/b-cm', 'atom/cm3', 'sum',
'macro']
-class Material(object):
+class Material(IDManagerMixin):
"""A material composed of a collection of nuclides/elements.
To create a material, one should create an instance of this class, add
@@ -89,6 +80,9 @@ class Material(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, material_id=None, name='', temperature=None):
# Initialize class attributes
self.id = material_id
@@ -184,10 +178,6 @@ class Material(object):
return string
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -264,18 +254,6 @@ class Material(object):
def volume(self):
return self._volume
- @id.setter
- def id(self, material_id):
-
- if material_id is None:
- global AUTO_MATERIAL_ID
- self._id = AUTO_MATERIAL_ID
- AUTO_MATERIAL_ID += 1
- else:
- cv.check_type('material ID', material_id, Integral)
- cv.check_greater_than('material ID', material_id, 0, equality=True)
- self._id = material_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/mesh.py b/openmc/mesh.py
index 1ad01e2ca6..76a33d8e2d 100644
--- a/openmc/mesh.py
+++ b/openmc/mesh.py
@@ -8,20 +8,10 @@ import numpy as np
import openmc.checkvalue as cv
import openmc
-from openmc.mixin import EqualityMixin
+from openmc.mixin import EqualityMixin, IDManagerMixin
-# "Static" variable for auto-generated and Mesh IDs
-AUTO_MESH_ID = 10000
-
-
-def reset_auto_mesh_id():
- """Reset counter for auto-generated mesh IDs."""
- global AUTO_MESH_ID
- AUTO_MESH_ID = 10000
-
-
-class Mesh(EqualityMixin):
+class Mesh(EqualityMixin, IDManagerMixin):
"""A structured Cartesian mesh in one, two, or three dimensions
Parameters
@@ -52,6 +42,9 @@ class Mesh(EqualityMixin):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, mesh_id=None, name=''):
# Initialize Mesh class attributes
self.id = mesh_id
@@ -62,10 +55,6 @@ class Mesh(EqualityMixin):
self._upper_right = None
self._width = None
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -94,17 +83,6 @@ class Mesh(EqualityMixin):
def num_mesh_cells(self):
return np.prod(self._dimension)
- @id.setter
- def id(self, mesh_id):
- if mesh_id is None:
- global AUTO_MESH_ID
- self._id = AUTO_MESH_ID
- AUTO_MESH_ID += 1
- else:
- cv.check_type('mesh ID', mesh_id, Integral)
- cv.check_greater_than('mesh ID', mesh_id, 0, equality=True)
- self._id = mesh_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/mixin.py b/openmc/mixin.py
index dd97e89249..0b0c5f5198 100644
--- a/openmc/mixin.py
+++ b/openmc/mixin.py
@@ -1,5 +1,10 @@
+from numbers import Integral
+from warnings import warn
+
import numpy as np
+import openmc.checkvalue as cv
+
class EqualityMixin(object):
"""A Class which provides generic __eq__ and __ne__ functionality which
@@ -18,3 +23,37 @@ class EqualityMixin(object):
def __ne__(self, other):
return not self.__eq__(other)
+
+
+class IDManagerMixin(object):
+ """A Class which automatically manages unique IDs.
+
+ This mixin gives any subclass the ability to assign unique IDs through an
+ 'id' property and keeps track of which ones have already been
+ assigned. Crucially, each subclass must define class variables 'next_id' and
+ 'used_ids' as they are used in the 'id' property that is supplied here.
+
+ """
+
+ @property
+ def id(self):
+ return self._id
+
+ @id.setter
+ def id(self, uid):
+ cls = type(self)
+ name = cls.__name__
+ if uid is None:
+ while cls.next_id in cls.used_ids:
+ cls.next_id += 1
+ self._id = cls.next_id
+ cls.used_ids.add(cls.next_id)
+ else:
+ cv.check_type('{} ID'.format(name), uid, Integral)
+ cv.check_greater_than('{} ID'.format(name), uid, 0, equality=True)
+ if uid in cls.used_ids:
+ warn('Another {} instance already exists with id={}.'.format(
+ name, uid))
+ else:
+ cls.used_ids.add(uid)
+ self._id = uid
diff --git a/openmc/plots.py b/openmc/plots.py
index cc2fcc4b6b..ad0d48d114 100644
--- a/openmc/plots.py
+++ b/openmc/plots.py
@@ -10,16 +10,7 @@ import numpy as np
import openmc
import openmc.checkvalue as cv
from openmc.clean_xml import clean_xml_indentation
-
-
-# A static variable for auto-generated Plot IDs
-AUTO_PLOT_ID = 10000
-
-
-def reset_auto_plot_id():
- """Reset counter for auto-generated plot IDs."""
- global AUTO_PLOT_ID
- AUTO_PLOT_ID = 10000
+from openmc.mixin import IDManagerMixin
_BASES = ['xy', 'xz', 'yz']
@@ -175,7 +166,7 @@ _SVG_COLORS = {
}
-class Plot(object):
+class Plot(IDManagerMixin):
"""Definition of a finite region of space to be plotted.
OpenMC is capable of generating two-dimensional slice plots and
@@ -227,6 +218,9 @@ class Plot(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, plot_id=None, name=''):
# Initialize Plot class attributes
self.id = plot_id
@@ -245,10 +239,6 @@ class Plot(object):
self._level = None
self._meshlines = None
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -305,17 +295,6 @@ class Plot(object):
def meshlines(self):
return self._meshlines
- @id.setter
- def id(self, plot_id):
- if plot_id is None:
- global AUTO_PLOT_ID
- self._id = AUTO_PLOT_ID
- AUTO_PLOT_ID += 1
- else:
- cv.check_type('plot ID', plot_id, Integral)
- cv.check_greater_than('plot ID', plot_id, 0, equality=True)
- self._id = plot_id
-
@name.setter
def name(self, name):
cv.check_type('plot name', name, string_types)
diff --git a/openmc/statepoint.py b/openmc/statepoint.py
index 543e8a302d..7255a7ba4b 100644
--- a/openmc/statepoint.py
+++ b/openmc/statepoint.py
@@ -356,71 +356,76 @@ class StatePoint(object):
else:
tally_ids = []
- # Iterate over all tallies
- for tally_id in tally_ids:
- group = tallies_group['tally {}'.format(tally_id)]
+ # Ignore warnings about duplicate IDs
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore', UserWarning)
- # Read the number of realizations
- n_realizations = group['n_realizations'].value
+ # Iterate over all tallies
+ for tally_id in tally_ids:
+ group = tallies_group['tally {}'.format(tally_id)]
- # Create Tally object and assign basic properties
- tally = openmc.Tally(tally_id)
- tally._sp_filename = self._f.filename
- tally.name = group['name'].value.decode() if 'name' in group else ''
- tally.estimator = group['estimator'].value.decode()
- tally.num_realizations = n_realizations
+ # Read the number of realizations
+ n_realizations = group['n_realizations'].value
- # Read derivative information.
- if 'derivative' in group:
- deriv_id = group['derivative'].value
- tally.derivative = self.tally_derivatives[deriv_id]
+ # Create Tally object and assign basic properties
+ tally = openmc.Tally(tally_id)
+ tally._sp_filename = self._f.filename
+ tally.name = group['name'].value.decode() if 'name' in group else ''
+ tally.estimator = group['estimator'].value.decode()
+ tally.num_realizations = n_realizations
- # Read all filters
- n_filters = group['n_filters'].value
- if n_filters > 0:
- filter_ids = group['filters'].value
- filters_group = self._f['tallies/filters']
- for filter_id in filter_ids:
- filter_group = filters_group['filter {}'.format(filter_id)]
- new_filter = openmc.Filter.from_hdf5(filter_group,
- meshes=self.meshes)
- tally.filters.append(new_filter)
+ # Read derivative information.
+ if 'derivative' in group:
+ deriv_id = group['derivative'].value
+ tally.derivative = self.tally_derivatives[deriv_id]
- # Read nuclide bins
- nuclide_names = group['nuclides'].value
+ # Read all filters
+ n_filters = group['n_filters'].value
+ if n_filters > 0:
+ filter_ids = group['filters'].value
+ filters_group = self._f['tallies/filters']
+ for filter_id in filter_ids:
+ filter_group = filters_group['filter {}'.format(
+ filter_id)]
+ new_filter = openmc.Filter.from_hdf5(
+ filter_group, meshes=self.meshes)
+ tally.filters.append(new_filter)
- # Add all nuclides to the Tally
- for name in nuclide_names:
- nuclide = openmc.Nuclide(name.decode().strip())
- tally.nuclides.append(nuclide)
+ # Read nuclide bins
+ nuclide_names = group['nuclides'].value
- scores = group['score_bins'].value
- n_score_bins = group['n_score_bins'].value
+ # Add all nuclides to the Tally
+ for name in nuclide_names:
+ nuclide = openmc.Nuclide(name.decode().strip())
+ tally.nuclides.append(nuclide)
- # Compute and set the filter strides
- for i in range(n_filters):
- tally_filter = tally.filters[i]
- tally_filter.stride = n_score_bins * len(nuclide_names)
+ scores = group['score_bins'].value
+ n_score_bins = group['n_score_bins'].value
- for j in range(i+1, n_filters):
- tally_filter.stride *= tally.filters[j].num_bins
+ # Compute and set the filter strides
+ for i in range(n_filters):
+ tally_filter = tally.filters[i]
+ tally_filter.stride = n_score_bins * len(nuclide_names)
- # Read scattering moment order strings (e.g., P3, Y1,2, etc.)
- moments = group['moment_orders'].value
+ for j in range(i+1, n_filters):
+ tally_filter.stride *= tally.filters[j].num_bins
- # Add the scores to the Tally
- for j, score in enumerate(scores):
- score = score.decode()
+ # Read scattering moment order strings (e.g., P3, Y1,2, etc.)
+ moments = group['moment_orders'].value
- # If this is a moment, use generic moment order
- pattern = r'-n$|-pn$|-yn$'
- score = re.sub(pattern, '-' + moments[j].decode(), score)
+ # Add the scores to the Tally
+ for j, score in enumerate(scores):
+ score = score.decode()
- tally.scores.append(score)
+ # If this is a moment, use generic moment order
+ pattern = r'-n$|-pn$|-yn$'
+ score = re.sub(pattern, '-' + moments[j].decode(), score)
- # Add Tally to the global dictionary of all Tallies
- tally.sparse = self.sparse
- self._tallies[tally_id] = tally
+ tally.scores.append(score)
+
+ # Add Tally to the global dictionary of all Tallies
+ tally.sparse = self.sparse
+ self._tallies[tally_id] = tally
self._tallies_read = True
diff --git a/openmc/summary.py b/openmc/summary.py
index 61596cc38e..30ba77f985 100644
--- a/openmc/summary.py
+++ b/openmc/summary.py
@@ -1,5 +1,6 @@
from collections import Iterable
import re
+import warnings
import numpy as np
import h5py
@@ -31,8 +32,6 @@ class Summary(object):
"""
def __init__(self, filename):
- openmc.reset_auto_ids()
-
if not filename.endswith(('.h5', '.hdf5')):
msg = 'Unable to open "{0}" which is not an HDF5 summary file'
raise ValueError(msg)
@@ -52,7 +51,9 @@ class Summary(object):
self._nuclides = {}
self._read_nuclides()
- self._read_geometry()
+ with warnings.catch_warnings():
+ warnings.simplefilter("ignore", UserWarning)
+ self._read_geometry()
@property
def date_and_time(self):
@@ -69,7 +70,7 @@ class Summary(object):
@property
def nuclides(self):
return self._nuclides
-
+
@property
def version(self):
return tuple(self._f.attrs['openmc_version'])
diff --git a/openmc/surface.py b/openmc/surface.py
index c7c19cff36..dca9a76bd1 100644
--- a/openmc/surface.py
+++ b/openmc/surface.py
@@ -12,6 +12,7 @@ import numpy as np
from openmc.checkvalue import check_type, check_value, check_greater_than
from openmc.region import Region, Intersection, Union
+from openmc.mixin import IDManagerMixin
# A static variable for auto-generated Surface IDs
@@ -20,13 +21,7 @@ AUTO_SURFACE_ID = 10000
_BOUNDARY_TYPES = ['transmission', 'vacuum', 'reflective', 'periodic']
-def reset_auto_surface_id():
- """Reset counters for all auto-generated surface IDs"""
- global AUTO_SURFACE_ID
- AUTO_SURFACE_ID = 10000
-
-
-class Surface(object):
+class Surface(IDManagerMixin):
"""An implicit surface with an associated boundary condition.
An implicit surface is defined as the set of zeros of a function of the
@@ -64,6 +59,9 @@ class Surface(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, surface_id=None, boundary_type='transmission', name=''):
self.id = surface_id
self.name = name
@@ -105,10 +103,6 @@ class Surface(object):
return string
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -125,17 +119,6 @@ class Surface(object):
def coefficients(self):
return self._coefficients
- @id.setter
- def id(self, surface_id):
- if surface_id is None:
- global AUTO_SURFACE_ID
- self._id = AUTO_SURFACE_ID
- AUTO_SURFACE_ID += 1
- else:
- check_type('surface ID', surface_id, Integral)
- check_greater_than('surface ID', surface_id, 0, equality=True)
- self._id = surface_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/tallies.py b/openmc/tallies.py
index 12b5858f23..6853db494e 100644
--- a/openmc/tallies.py
+++ b/openmc/tallies.py
@@ -18,11 +18,9 @@ import h5py
import openmc
import openmc.checkvalue as cv
from openmc.clean_xml import clean_xml_indentation
+from .mixin import IDManagerMixin
-# "Static" variable for auto-generated Tally IDs
-AUTO_TALLY_ID = 10000
-
# The tally arithmetic product types. The tensor product performs the full
# cross product of the data in two tallies with respect to a specified axis
# (filters, nuclides, or scores). The entrywise product performs the arithmetic
@@ -41,13 +39,7 @@ _FILTER_CLASSES = (openmc.Filter, openmc.CrossFilter, openmc.AggregateFilter)
ESTIMATOR_TYPES = ['tracklength', 'collision', 'analog']
-def reset_auto_tally_id():
- """Reset counter for auto-generated tally IDs."""
- global AUTO_TALLY_ID
- AUTO_TALLY_ID = 10000
-
-
-class Tally(object):
+class Tally(IDManagerMixin):
"""A tally defined by a set of scores that are accumulated for a list of
nuclides given a set of filters.
@@ -109,6 +101,9 @@ class Tally(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, tally_id=None, name=''):
# Initialize Tally class attributes
self.id = tally_id
@@ -204,10 +199,6 @@ class Tally(object):
return string
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -416,17 +407,6 @@ class Tally(object):
DeprecationWarning)
self.triggers.append(trigger)
- @id.setter
- def id(self, tally_id):
- if tally_id is None:
- global AUTO_TALLY_ID
- self._id = AUTO_TALLY_ID
- AUTO_TALLY_ID += 1
- else:
- cv.check_type('tally ID', tally_id, Integral)
- cv.check_greater_than('tally ID', tally_id, 0, equality=True)
- self._id = tally_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/tally_derivative.py b/openmc/tally_derivative.py
index 185e7ab6ae..d6c2fab028 100644
--- a/openmc/tally_derivative.py
+++ b/openmc/tally_derivative.py
@@ -7,18 +7,10 @@ from xml.etree import ElementTree as ET
from six import string_types
import openmc.checkvalue as cv
-from openmc.mixin import EqualityMixin
+from openmc.mixin import EqualityMixin, IDManagerMixin
-# "Static" variable for auto-generated TallyDerivative IDs
-AUTO_TALLY_DERIV_ID = 10000
-
-def reset_auto_tally_deriv_id():
- global AUTO_TALLY_ID
- AUTO_TALLY_DERIV_ID = 10000
-
-
-class TallyDerivative(EqualityMixin):
+class TallyDerivative(EqualityMixin, IDManagerMixin):
"""A material perturbation derivative to apply to a tally.
Parameters
@@ -48,6 +40,9 @@ class TallyDerivative(EqualityMixin):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, derivative_id=None, variable=None, material=None,
nuclide=None):
# Initialize Tally class attributes
@@ -74,10 +69,6 @@ class TallyDerivative(EqualityMixin):
return string
- @property
- def id(self):
- return self._id
-
@property
def variable(self):
return self._variable
@@ -90,18 +81,6 @@ class TallyDerivative(EqualityMixin):
def nuclide(self):
return self._nuclide
- @id.setter
- def id(self, deriv_id):
- if deriv_id is None:
- global AUTO_TALLY_DERIV_ID
- self._id = AUTO_TALLY_DERIV_ID
- AUTO_TALLY_DERIV_ID += 1
- else:
- cv.check_type('tally derivative ID', deriv_id, Integral)
- cv.check_greater_than('tally derivative ID', deriv_id, 0,
- equality=True)
- self._id = deriv_id
-
@variable.setter
def variable(self, var):
if var is not None:
diff --git a/openmc/universe.py b/openmc/universe.py
index a03e8ba873..95a1341fd2 100644
--- a/openmc/universe.py
+++ b/openmc/universe.py
@@ -11,19 +11,10 @@ import numpy as np
import openmc
import openmc.checkvalue as cv
from openmc.plots import _SVG_COLORS
+from openmc.mixin import IDManagerMixin
-# A static variable for auto-generated Lattice (Universe) IDs
-AUTO_UNIVERSE_ID = 10000
-
-
-def reset_auto_universe_id():
- """Reset counter for auto-generated universe IDs."""
- global AUTO_UNIVERSE_ID
- AUTO_UNIVERSE_ID = 10000
-
-
-class Universe(object):
+class Universe(IDManagerMixin):
"""A collection of cells that can be repeated.
Parameters
@@ -55,6 +46,9 @@ class Universe(object):
"""
+ next_id = 1
+ used_ids = set()
+
def __init__(self, universe_id=None, name='', cells=None):
# Initialize Cell class attributes
self.id = universe_id
@@ -95,10 +89,6 @@ class Universe(object):
list(self._cells.keys()))
return string
- @property
- def id(self):
- return self._id
-
@property
def name(self):
return self._name
@@ -121,17 +111,6 @@ class Universe(object):
# Infinite bounding box
return openmc.Intersection().bounding_box
- @id.setter
- def id(self, universe_id):
- if universe_id is None:
- global AUTO_UNIVERSE_ID
- self._id = AUTO_UNIVERSE_ID
- AUTO_UNIVERSE_ID += 1
- else:
- cv.check_type('universe ID', universe_id, Integral)
- cv.check_greater_than('universe ID', universe_id, 0, equality=True)
- self._id = universe_id
-
@name.setter
def name(self, name):
if name is not None:
diff --git a/openmc/volume.py b/openmc/volume.py
index 6c4b130f96..b81004ba11 100644
--- a/openmc/volume.py
+++ b/openmc/volume.py
@@ -1,7 +1,7 @@
from collections import Iterable, Mapping, OrderedDict
from numbers import Real, Integral
from xml.etree import ElementTree as ET
-from warnings import warn
+import warnings
import numpy as np
import pandas as pd
@@ -85,9 +85,10 @@ class VolumeCalculation(object):
continue
if (np.any(np.asarray(lower_left) > ll) or
np.any(np.asarray(upper_right) < ur)):
- warn("Specified bounding box is smaller than computed "
- "bounding box for cell {}. Volume calculation may "
- "be incorrect!".format(c.id))
+ warnings.warn(
+ "Specified bounding box is smaller than computed "
+ "bounding box for cell {}. Volume calculation may "
+ "be incorrect!".format(c.id))
self.lower_left = lower_left
self.upper_right = upper_right
@@ -221,12 +222,14 @@ class VolumeCalculation(object):
# Instantiate some throw-away domains that are used by the constructor
# to assign IDs
- if domain_type == 'cell':
- domains = [openmc.Cell(uid) for uid in ids]
- elif domain_type == 'material':
- domains = [openmc.Material(uid) for uid in ids]
- elif domain_type == 'universe':
- domains = [openmc.Universe(uid) for uid in ids]
+ with warnings.catch_warnings():
+ warnings.simplefilter('ignore', UserWarning)
+ if domain_type == 'cell':
+ domains = [openmc.Cell(uid) for uid in ids]
+ elif domain_type == 'material':
+ domains = [openmc.Material(uid) for uid in ids]
+ elif domain_type == 'universe':
+ domains = [openmc.Universe(uid) for uid in ids]
# Instantiate the class and assign results
vol = cls(domains, samples, lower_left, upper_right)
diff --git a/tests/test_asymmetric_lattice/inputs_true.dat b/tests/test_asymmetric_lattice/inputs_true.dat
index df9ea209ea..808e9f56a6 100644
--- a/tests/test_asymmetric_lattice/inputs_true.dat
+++ b/tests/test_asymmetric_lattice/inputs_true.dat
@@ -1,6 +1,6 @@
- |
+ |
|
|
|
@@ -42,17 +42,17 @@
7 7 7
-
-
-
-
-
-
+
+
+
+
+
+
@@ -217,11 +217,11 @@
-
+
27
- 10000
+ 1
nu-fission
diff --git a/tests/test_diff_tally/inputs_true.dat b/tests/test_diff_tally/inputs_true.dat
index 83dfd7ff9b..624279df16 100644
--- a/tests/test_diff_tally/inputs_true.dat
+++ b/tests/test_diff_tally/inputs_true.dat
@@ -310,123 +310,123 @@
-
+
1 3
-
+
0.0 0.625 20000000.0
-
- 10000
+
+ 1
flux
1
-
- 10000
+
+ 1
flux
2
-
- 10000
+
+ 1
flux
3
-
- 10000
+
+ 1
flux
4
-
- 10000
+
+ 1
flux
5
-
- 10000
+
+ 1
total U235
total absorption scatter fission nu-fission
1
-
- 10000
+
+ 1
total U235
total absorption scatter fission nu-fission
2
-
- 10000
+
+ 1
total U235
total absorption scatter fission nu-fission
3
-
- 10000
+
+ 1
total U235
total absorption scatter fission nu-fission
4
-
- 10000
+
+ 1
total U235
total absorption scatter fission nu-fission
5
-
- 10000
+
+ 1
absorption
analog
1
-
- 10000
+
+ 1
absorption
analog
2
-
- 10000
+
+ 1
absorption
analog
3
-
- 10000
+
+ 1
absorption
analog
4
-
- 10000
+
+ 1
absorption
analog
5
-
- 10000 10001
+
+ 1 2
total U235
nu-fission scatter
1
-
- 10000 10001
+
+ 1 2
total U235
nu-fission scatter
2
-
- 10000 10001
+
+ 1 2
U235
nu-fission scatter
3
-
- 10000 10001
+
+ 1 2
U235
nu-fission scatter
4
-
- 10000 10001
+
+ 1 2
U235
nu-fission scatter
5
diff --git a/tests/test_diff_tally/results_true.dat b/tests/test_diff_tally/results_true.dat
index 4879e8a2f6..50e0060dcf 100644
--- a/tests/test_diff_tally/results_true.dat
+++ b/tests/test_diff_tally/results_true.dat
@@ -1,44 +1,4 @@
d_material,d_nuclide,d_variable,score,mean,std. dev.
-1,,density,nu-fission,0.0000000e+00,0.0000000e+00
-1,,density,scatter,3.9903014e-02,9.1258569e-03
-1,,density,nu-fission,0.0000000e+00,0.0000000e+00
-1,,density,scatter,9.8213753e-04,9.8213753e-04
-1,,density,nu-fission,2.7945436e-02,2.0999385e-02
-1,,density,scatter,4.0626164e-01,1.7017647e-02
-1,,density,nu-fission,2.4595326e-02,2.1224461e-02
-1,,density,scatter,2.6505966e-03,2.3698970e-03
-1,,density,nu-fission,0.0000000e+00,0.0000000e+00
-1,,density,scatter,-1.2721691e-01,1.8810988e-01
-1,,density,nu-fission,0.0000000e+00,0.0000000e+00
-1,,density,scatter,0.0000000e+00,0.0000000e+00
-1,,density,nu-fission,0.0000000e+00,0.0000000e+00
-1,,density,scatter,4.1950837e-02,7.3679973e-02
-1,,density,nu-fission,0.0000000e+00,0.0000000e+00
-1,,density,scatter,0.0000000e+00,0.0000000e+00
-1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
-1,O16,nuclide_density,scatter,-1.9798569e-02,1.9798569e-02
-1,O16,nuclide_density,nu-fission,9.3633316e-01,2.0322303e+00
-1,O16,nuclide_density,scatter,-2.2042880e-01,1.6781769e-01
-1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
-1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
-1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
-1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
-1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
-1,U235,nuclide_density,scatter,2.3761278e+00,2.3761278e+00
-1,U235,nuclide_density,nu-fission,7.7441706e+02,8.6460966e+01
-1,U235,nuclide_density,scatter,9.6917110e+01,1.0750583e+01
-1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
-1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
-1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
-1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
-1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
-1,,temperature,scatter,-2.0607997e-06,2.0607997e-06
-1,,temperature,nu-fission,3.8846012e-06,3.5405078e-05
-1,,temperature,scatter,-6.6772461e-07,2.0750790e-07
-1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
-1,,temperature,scatter,0.0000000e+00,0.0000000e+00
-1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
-1,,temperature,scatter,0.0000000e+00,0.0000000e+00
3,,density,flux,-7.6179773e+00,5.0326448e+00
3,,density,flux,-1.6242019e+01,6.6231769e+00
1,,density,flux,-2.2394711e-01,5.4534246e-02
@@ -175,3 +135,43 @@ d_material,d_nuclide,d_variable,score,mean,std. dev.
3,,density,scatter,4.0762347e-01,3.8504133e+00
3,,density,nu-fission,0.0000000e+00,0.0000000e+00
3,,density,scatter,0.0000000e+00,0.0000000e+00
+1,,density,nu-fission,0.0000000e+00,0.0000000e+00
+1,,density,scatter,3.9903014e-02,9.1258569e-03
+1,,density,nu-fission,0.0000000e+00,0.0000000e+00
+1,,density,scatter,9.8213753e-04,9.8213753e-04
+1,,density,nu-fission,2.7945436e-02,2.0999385e-02
+1,,density,scatter,4.0626164e-01,1.7017647e-02
+1,,density,nu-fission,2.4595326e-02,2.1224461e-02
+1,,density,scatter,2.6505966e-03,2.3698970e-03
+1,,density,nu-fission,0.0000000e+00,0.0000000e+00
+1,,density,scatter,-1.2721691e-01,1.8810988e-01
+1,,density,nu-fission,0.0000000e+00,0.0000000e+00
+1,,density,scatter,0.0000000e+00,0.0000000e+00
+1,,density,nu-fission,0.0000000e+00,0.0000000e+00
+1,,density,scatter,4.1950837e-02,7.3679973e-02
+1,,density,nu-fission,0.0000000e+00,0.0000000e+00
+1,,density,scatter,0.0000000e+00,0.0000000e+00
+1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
+1,O16,nuclide_density,scatter,-1.9798569e-02,1.9798569e-02
+1,O16,nuclide_density,nu-fission,9.3633316e-01,2.0322303e+00
+1,O16,nuclide_density,scatter,-2.2042880e-01,1.6781769e-01
+1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
+1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
+1,O16,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
+1,O16,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
+1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
+1,U235,nuclide_density,scatter,2.3761278e+00,2.3761278e+00
+1,U235,nuclide_density,nu-fission,7.7441706e+02,8.6460966e+01
+1,U235,nuclide_density,scatter,9.6917110e+01,1.0750583e+01
+1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
+1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
+1,U235,nuclide_density,nu-fission,0.0000000e+00,0.0000000e+00
+1,U235,nuclide_density,scatter,0.0000000e+00,0.0000000e+00
+1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
+1,,temperature,scatter,-2.0607997e-06,2.0607997e-06
+1,,temperature,nu-fission,3.8846012e-06,3.5405078e-05
+1,,temperature,scatter,-6.6772461e-07,2.0750790e-07
+1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
+1,,temperature,scatter,0.0000000e+00,0.0000000e+00
+1,,temperature,nu-fission,0.0000000e+00,0.0000000e+00
+1,,temperature,scatter,0.0000000e+00,0.0000000e+00
diff --git a/tests/test_distribmat/inputs_true.dat b/tests/test_distribmat/inputs_true.dat
index cd26a0e7ce..5adb9d250c 100644
--- a/tests/test_distribmat/inputs_true.dat
+++ b/tests/test_distribmat/inputs_true.dat
@@ -1,9 +1,9 @@
|
- |
- |
- |
+ |
+ |
+ |
2.0 2.0
1
@@ -13,11 +13,11 @@
11 11
11 11
-
-
-
-
-
+
+
+
+
+
diff --git a/tests/test_distribmat/results_true.dat b/tests/test_distribmat/results_true.dat
index a47d167e23..cd6aa95d4f 100644
--- a/tests/test_distribmat/results_true.dat
+++ b/tests/test_distribmat/results_true.dat
@@ -4,6 +4,6 @@ Cell
ID = 11
Name =
Fill = [2, 3, None, 2]
- Region = -10000
+ Region = -9
Rotation = None
Translation = None
diff --git a/tests/test_energy_cutoff/inputs_true.dat b/tests/test_energy_cutoff/inputs_true.dat
index a2d2967c0e..1e22c95142 100644
--- a/tests/test_energy_cutoff/inputs_true.dat
+++ b/tests/test_energy_cutoff/inputs_true.dat
@@ -32,11 +32,11 @@
-
+
0.0 4.0
- 10000
+ 1
flux
diff --git a/tests/test_filter_energyfun/inputs_true.dat b/tests/test_filter_energyfun/inputs_true.dat
index cbf6183d19..643ead7fb4 100644
--- a/tests/test_filter_energyfun/inputs_true.dat
+++ b/tests/test_filter_energyfun/inputs_true.dat
@@ -310,16 +310,16 @@
-
+
1e-05 0.369 1000.0 100000.0 600000.0 1000000.0 2000000.0 4000000.0 30000000.0
0.1 0.1 0.1333 0.158 0.18467 0.25618 0.4297 0.48 0.48
-
+
Am241
(n,gamma)
-
- 10000
+
+ 1
Am241
(n,gamma)
diff --git a/tests/test_filter_energyfun/results_true.dat b/tests/test_filter_energyfun/results_true.dat
index 8e48e5f3cb..5f1a8827f0 100644
--- a/tests/test_filter_energyfun/results_true.dat
+++ b/tests/test_filter_energyfun/results_true.dat
@@ -1,2 +1,2 @@
energyfunction nuclide score mean std. dev.
-0 ac03185c35fac8 Am241 (n,gamma) 1.00e-01 6.22e-03
+0 02180f5f310ee4 Am241 (n,gamma) 1.00e-01 6.22e-03
diff --git a/tests/test_filter_energyfun/test_filter_energyfun.py b/tests/test_filter_energyfun/test_filter_energyfun.py
index 07ae993a9e..7e787edff2 100644
--- a/tests/test_filter_energyfun/test_filter_energyfun.py
+++ b/tests/test_filter_energyfun/test_filter_energyfun.py
@@ -29,7 +29,7 @@ class FilterEnergyFunHarness(PyAPITestHarness):
assert filt1 == filt2, 'Error with the .from_tabulated1d constructor'
# Make tallies.
- tallies = [openmc.Tally(), openmc.Tally()]
+ tallies = [openmc.Tally(1), openmc.Tally(2)]
for t in tallies:
t.scores = ['(n,gamma)']
t.nuclides = ['Am241']
@@ -42,7 +42,7 @@ class FilterEnergyFunHarness(PyAPITestHarness):
sp = openmc.StatePoint(statepoint)
# Use tally arithmetic to compute the branching ratio.
- br_tally = sp.tallies[10001] / sp.tallies[10000]
+ br_tally = sp.tallies[2] / sp.tallies[1]
# Output the tally in a Pandas DataFrame.
return br_tally.get_pandas_dataframe().to_string() + '\n'
diff --git a/tests/test_filter_mesh/inputs_true.dat b/tests/test_filter_mesh/inputs_true.dat
index e5d9006249..333f976dbd 100644
--- a/tests/test_filter_mesh/inputs_true.dat
+++ b/tests/test_filter_mesh/inputs_true.dat
@@ -324,37 +324,37 @@
-182.07 -182.07 -183.0
182.07 182.07 183.0
-
+
1
-
+
2
-
+
3
-
- 10000
+
+ 1
total
-
- 10000
+
+ 1
current
-
- 10001
+
+ 2
total
-
- 10001
+
+ 2
current
-
- 10002
+
+ 3
total
-
- 10002
+
+ 3
current
diff --git a/tests/test_mg_basic/inputs_true.dat b/tests/test_mg_basic/inputs_true.dat
index 9e722493ac..47e1c94dd4 100644
--- a/tests/test_mg_basic/inputs_true.dat
+++ b/tests/test_mg_basic/inputs_true.dat
@@ -1,86 +1,86 @@
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
../1d_mgxs.h5
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/test_mg_legendre/inputs_true.dat b/tests/test_mg_legendre/inputs_true.dat
index 05614b279d..10615ed135 100644
--- a/tests/test_mg_legendre/inputs_true.dat
+++ b/tests/test_mg_legendre/inputs_true.dat
@@ -1,29 +1,29 @@
- |
- |
- |
-
-
-
-
-
-
-
-
+ |
+ |
+ |
+
+
+
+
+
+
+
+
../1d_mgxs.h5
-
+
-
+
-
+
diff --git a/tests/test_mg_max_order/inputs_true.dat b/tests/test_mg_max_order/inputs_true.dat
index 07725dd318..c777dcbbf9 100644
--- a/tests/test_mg_max_order/inputs_true.dat
+++ b/tests/test_mg_max_order/inputs_true.dat
@@ -1,29 +1,29 @@
- |
- |
- |
-
-
-
-
-
-
-
-
+ |
+ |
+ |
+
+
+
+
+
+
+
+
../1d_mgxs.h5
-
+
-
+
-
+
diff --git a/tests/test_mg_nuclide/inputs_true.dat b/tests/test_mg_nuclide/inputs_true.dat
index 4225f7571a..c840f4194c 100644
--- a/tests/test_mg_nuclide/inputs_true.dat
+++ b/tests/test_mg_nuclide/inputs_true.dat
@@ -1,86 +1,86 @@
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
../1d_mgxs.h5
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/test_mg_survival_biasing/inputs_true.dat b/tests/test_mg_survival_biasing/inputs_true.dat
index de6e04644e..49d34e9150 100644
--- a/tests/test_mg_survival_biasing/inputs_true.dat
+++ b/tests/test_mg_survival_biasing/inputs_true.dat
@@ -1,86 +1,86 @@
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
../1d_mgxs.h5
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/test_mg_tallies/inputs_true.dat b/tests/test_mg_tallies/inputs_true.dat
index 9aeb28a949..34da51c18e 100644
--- a/tests/test_mg_tallies/inputs_true.dat
+++ b/tests/test_mg_tallies/inputs_true.dat
@@ -1,86 +1,86 @@
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
../1d_mgxs.h5
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -102,127 +102,127 @@
0.0 0.0 0.0
10 10 5
-
+
1
-
- 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011
+
+ 1 2 3 4 5 6 7 8 9 10 11 12
-
+
0.0 20000000.0
-
+
0.0 20000000.0
-
+
1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0
-
+
1e-05 0.0635 10.0 100.0 1000.0 500000.0 1000000.0 20000000.0
-
- 10004
+
+ 5
total absorption flux fission nu-fission
analog
-
- 10004
+
+ 5
total absorption flux fission nu-fission
tracklength
-
- 10005 10000
+
+ 6 1
total absorption flux fission nu-fission scatter nu-scatter
analog
-
- 10005 10000
+
+ 6 1
total absorption flux fission nu-fission
collision
-
- 10005 10000
+
+ 6 1
total absorption flux fission nu-fission
tracklength
-
- 10005 10000 10001
+
+ 6 1 2
scatter nu-scatter nu-fission
-
- 10005 10002
+
+ 6 3
total absorption flux fission nu-fission scatter nu-scatter
analog
-
- 10005 10002
+
+ 6 3
total absorption flux fission nu-fission
collision
-
- 10005 10002
+
+ 6 3
total absorption flux fission nu-fission
tracklength
-
- 10005 10002 10003
+
+ 6 3 4
scatter nu-scatter nu-fission
-
- 10004
+
+ 5
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission
analog
-
- 10004
+
+ 5
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission
tracklength
-
- 10005 10000
+
+ 6 1
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission scatter nu-scatter
analog
-
- 10005 10000
+
+ 6 1
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission
collision
-
- 10005 10000
+
+ 6 1
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission
tracklength
-
- 10005 10000 10001
+
+ 6 1 2
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
scatter nu-scatter nu-fission
-
- 10005 10002
+
+ 6 3
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission scatter nu-scatter
analog
-
- 10005 10002
+
+ 6 3
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission
collision
-
- 10005 10002
+
+ 6 3
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
total absorption fission nu-fission
tracklength
-
- 10005 10002 10003
+
+ 6 3 4
uo2_ang uo2_ang_mu uo2_iso uo2_iso_mu clad_ang clad_ang_mu clad_iso clad_iso_mu lwtr_ang lwtr_ang_mu lwtr_iso lwtr_iso_mu
scatter nu-scatter nu-fission
diff --git a/tests/test_mg_tallies/results_true.dat b/tests/test_mg_tallies/results_true.dat
index db7735cb4e..87470bdf40 100644
--- a/tests/test_mg_tallies/results_true.dat
+++ b/tests/test_mg_tallies/results_true.dat
@@ -1 +1 @@
-0a17877c7cf6dbd3e432b1997669a47c588d2a4074a29406deef27332eb7a0f736ea1fdc2037fc02f8ebca39f00332563bbe2172adc26bfaab2d6144d259daee
\ No newline at end of file
+9183f8b191f2e62334f992acd865d29e3f4e3f871a6df498e280fc4e2d91f2d2d20c732fbd75fa88e2e8c576f86e744f7655af6bb9da66e9b28b1009c8742899
\ No newline at end of file
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 faddd4645e..21c879694a 100644
--- a/tests/test_mgxs_library_ce_to_mg/inputs_true.dat
+++ b/tests/test_mgxs_library_ce_to_mg/inputs_true.dat
@@ -1,25 +1,25 @@
- |
- |
- |
-
-
-
-
-
-
+ |
+ |
+ |
+
+
+
+
+
+
-
+
-
+
@@ -27,7 +27,7 @@
-
+
@@ -50,197 +50,197 @@
-
- 10000
+
+ 1
-
+
0.0 0.625 20000000.0
-
+
0.0 0.625 20000000.0
-
- 10001
+
+ 2
-
- 10002
+
+ 3
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10006
+
+ 1 2 7
total
nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10006
+
+ 1 2 7
total
nu-scatter-P3
analog
-
- 10000 10001 10006
+
+ 1 2 7
total
nu-scatter
analog
-
- 10000 10001 10006
+
+ 1 2 7
total
scatter
analog
-
- 10013 10001
+
+ 14 2
total
flux
tracklength
-
- 10013 10001
+
+ 14 2
total
total
tracklength
-
- 10013 10001
+
+ 14 2
total
flux
tracklength
-
- 10013 10001
+
+ 14 2
total
absorption
tracklength
-
- 10013 10001
+
+ 14 2
total
flux
analog
-
- 10013 10001 10006
+
+ 14 2 7
total
nu-fission
analog
-
- 10013 10001
+
+ 14 2
total
flux
analog
-
- 10013 10001 10006
+
+ 14 2 7
total
nu-scatter-P3
analog
-
- 10013 10001 10006
+
+ 14 2 7
total
nu-scatter
analog
-
- 10013 10001 10006
+
+ 14 2 7
total
scatter
analog
-
- 10026 10001
+
+ 27 2
total
flux
tracklength
-
- 10026 10001
+
+ 27 2
total
total
tracklength
-
- 10026 10001
+
+ 27 2
total
flux
tracklength
-
- 10026 10001
+
+ 27 2
total
absorption
tracklength
-
- 10026 10001
+
+ 27 2
total
flux
analog
-
- 10026 10001 10006
+
+ 27 2 7
total
nu-fission
analog
-
- 10026 10001
+
+ 27 2
total
flux
analog
-
- 10026 10001 10006
+
+ 27 2 7
total
nu-scatter-P3
analog
-
- 10026 10001 10006
+
+ 27 2 7
total
nu-scatter
analog
-
- 10026 10001 10006
+
+ 27 2 7
total
scatter
analog
diff --git a/tests/test_mgxs_library_condense/inputs_true.dat b/tests/test_mgxs_library_condense/inputs_true.dat
index f33efe8637..df941a7645 100644
--- a/tests/test_mgxs_library_condense/inputs_true.dat
+++ b/tests/test_mgxs_library_condense/inputs_true.dat
@@ -1,25 +1,25 @@
- |
- |
- |
-
-
-
-
-
-
+ |
+ |
+ |
+
+
+
+
+
+
-
+
-
+
@@ -27,7 +27,7 @@
-
+
@@ -50,1139 +50,1139 @@
-
- 10000
+
+ 1
-
+
0.0 0.625 20000000.0
-
+
0.0 0.625 20000000.0
-
+
0.0 20000000.0
-
+
1 2 3 4 5 6
-
- 10001
+
+ 2
-
- 10002
+
+ 3
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
nu-scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
kappa-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001
+
+ 1 2
total
nu-scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter-P3
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-fission
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter-0
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-0
analog
-
- 10000 10045
+
+ 1 46
total
nu-fission
analog
-
- 10000 10004
+
+ 1 5
total
nu-fission
analog
-
- 10000 10045
+
+ 1 46
total
prompt-nu-fission
analog
-
- 10000 10004
+
+ 1 5
total
prompt-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
inverse-velocity
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
prompt-nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
prompt-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10045
+
+ 1 59 46
total
delayed-nu-fission
analog
-
- 10000 10058 10004
+
+ 1 59 5
total
delayed-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
decay-rate
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10058 10001 10004
+
+ 1 59 2 5
total
delayed-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
total
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
total
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10004
+
+ 74 5
total
scatter-1
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
total
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10004
+
+ 74 5
total
nu-scatter-1
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
absorption
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
absorption
tracklength
-
- 10073 10001
+
+ 74 2
total
fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
nu-fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
kappa-fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
scatter
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001
+
+ 74 2
total
nu-scatter
analog
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-P3
analog
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-scatter-P3
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-scatter
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter
analog
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-fission
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
scatter
tracklength
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-P3
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
scatter
tracklength
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-P3
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-scatter-0
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-0
analog
-
- 10073 10045
+
+ 74 46
total
nu-fission
analog
-
- 10073 10004
+
+ 74 5
total
nu-fission
analog
-
- 10073 10045
+
+ 74 46
total
prompt-nu-fission
analog
-
- 10073 10004
+
+ 74 5
total
prompt-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
inverse-velocity
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
prompt-nu-fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
prompt-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
delayed-nu-fission
tracklength
-
- 10073 10058 10045
+
+ 74 59 46
total
delayed-nu-fission
analog
-
- 10073 10058 10004
+
+ 74 59 5
total
delayed-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
nu-fission
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
delayed-nu-fission
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
delayed-nu-fission
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
decay-rate
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10058 10001 10004
+
+ 74 59 2 5
total
delayed-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
total
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
total
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10004
+
+ 147 5
total
scatter-1
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
total
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10004
+
+ 147 5
total
nu-scatter-1
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
absorption
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
absorption
tracklength
-
- 10146 10001
+
+ 147 2
total
fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
nu-fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
kappa-fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
scatter
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001
+
+ 147 2
total
nu-scatter
analog
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-P3
analog
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-scatter-P3
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-scatter
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter
analog
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-fission
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
scatter
tracklength
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-P3
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
scatter
tracklength
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-P3
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-scatter-0
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-0
analog
-
- 10146 10045
+
+ 147 46
total
nu-fission
analog
-
- 10146 10004
+
+ 147 5
total
nu-fission
analog
-
- 10146 10045
+
+ 147 46
total
prompt-nu-fission
analog
-
- 10146 10004
+
+ 147 5
total
prompt-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
inverse-velocity
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
prompt-nu-fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
prompt-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
delayed-nu-fission
tracklength
-
- 10146 10058 10045
+
+ 147 59 46
total
delayed-nu-fission
analog
-
- 10146 10058 10004
+
+ 147 59 5
total
delayed-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
nu-fission
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
delayed-nu-fission
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
delayed-nu-fission
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
decay-rate
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10058 10001 10004
+
+ 147 59 2 5
total
delayed-nu-fission
analog
diff --git a/tests/test_mgxs_library_condense/results_true.dat b/tests/test_mgxs_library_condense/results_true.dat
index f698144444..0c9adedb1f 100644
--- a/tests/test_mgxs_library_condense/results_true.dat
+++ b/tests/test_mgxs_library_condense/results_true.dat
@@ -1,273 +1,273 @@
material group in nuclide mean std. dev.
-0 10000 1 total 0.453624 0.021053
+0 1 1 total 0.453624 0.021053
material group in nuclide mean std. dev.
-0 10000 1 total 0.4074 0.021863
+0 1 1 total 0.4074 0.021863
material group in nuclide mean std. dev.
-0 10000 1 total 0.4074 0.021863
+0 1 1 total 0.4074 0.021863
material group in nuclide mean std. dev.
-0 10000 1 total 0.064903 0.004313
+0 1 1 total 0.064903 0.004313
material group in nuclide mean std. dev.
-0 10000 1 total 0.028048 0.00458
+0 1 1 total 0.028048 0.00458
material group in nuclide mean std. dev.
-0 10000 1 total 0.036855 0.002622
+0 1 1 total 0.036855 0.002622
material group in nuclide mean std. dev.
-0 10000 1 total 0.090649 0.00641
+0 1 1 total 0.090649 0.00641
material group in nuclide mean std. dev.
-0 10000 1 total 7.137954e+06 507363.468222
+0 1 1 total 7.137954e+06 507363.468222
material group in nuclide mean std. dev.
-0 10000 1 total 0.388721 0.01783
+0 1 1 total 0.388721 0.01783
material group in nuclide mean std. dev.
-0 10000 1 total 0.389304 0.023076
+0 1 1 total 0.389304 0.023076
material group in group out nuclide moment mean std. dev.
-0 10000 1 1 total P0 0.389304 0.023146
-1 10000 1 1 total P1 0.046224 0.005907
-2 10000 1 1 total P2 0.017984 0.002883
-3 10000 1 1 total P3 0.006628 0.002457
+0 1 1 1 total P0 0.389304 0.023146
+1 1 1 1 total P1 0.046224 0.005907
+2 1 1 1 total P2 0.017984 0.002883
+3 1 1 1 total P3 0.006628 0.002457
material group in group out nuclide moment mean std. dev.
-0 10000 1 1 total P0 0.389304 0.023146
-1 10000 1 1 total P1 0.046224 0.005907
-2 10000 1 1 total P2 0.017984 0.002883
-3 10000 1 1 total P3 0.006628 0.002457
+0 1 1 1 total P0 0.389304 0.023146
+1 1 1 1 total P1 0.046224 0.005907
+2 1 1 1 total P2 0.017984 0.002883
+3 1 1 1 total P3 0.006628 0.002457
material group in group out nuclide mean std. dev.
-0 10000 1 1 total 1.0 0.066111
+0 1 1 1 total 1.0 0.066111
material group in group out nuclide mean std. dev.
-0 10000 1 1 total 0.085835 0.005592
+0 1 1 1 total 0.085835 0.005592
material group in group out nuclide mean std. dev.
-0 10000 1 1 total 1.0 0.066111
+0 1 1 1 total 1.0 0.066111
material group in group out nuclide moment mean std. dev.
-0 10000 1 1 total P0 0.388721 0.031279
-1 10000 1 1 total P1 0.046155 0.006407
-2 10000 1 1 total P2 0.017957 0.003039
-3 10000 1 1 total P3 0.006618 0.002480
+0 1 1 1 total P0 0.388721 0.031279
+1 1 1 1 total P1 0.046155 0.006407
+2 1 1 1 total P2 0.017957 0.003039
+3 1 1 1 total P3 0.006618 0.002480
material group in group out nuclide moment mean std. dev.
-0 10000 1 1 total P0 0.388721 0.040482
-1 10000 1 1 total P1 0.046155 0.007097
-2 10000 1 1 total P2 0.017957 0.003262
-3 10000 1 1 total P3 0.006618 0.002518
+0 1 1 1 total P0 0.388721 0.040482
+1 1 1 1 total P1 0.046155 0.007097
+2 1 1 1 total P2 0.017957 0.003262
+3 1 1 1 total P3 0.006618 0.002518
material group out nuclide mean std. dev.
-0 10000 1 total 1.0 0.046071
+0 1 1 total 1.0 0.046071
material group out nuclide mean std. dev.
-0 10000 1 total 1.0 0.051471
+0 1 1 total 1.0 0.051471
material group in nuclide mean std. dev.
-0 10000 1 total 4.996730e-07 3.650633e-08
+0 1 1 total 4.996730e-07 3.650633e-08
material group in nuclide mean std. dev.
-0 10000 1 total 0.090004 0.006367
+0 1 1 total 0.090004 0.006367
material group in group out nuclide mean std. dev.
-0 10000 1 1 total 0.084542 0.005716
+0 1 1 1 total 0.084542 0.005716
material delayedgroup group in nuclide mean std. dev.
-0 10000 1 1 total 0.000021 0.000001
-1 10000 2 1 total 0.000110 0.000008
-2 10000 3 1 total 0.000107 0.000007
-3 10000 4 1 total 0.000249 0.000017
-4 10000 5 1 total 0.000112 0.000007
-5 10000 6 1 total 0.000046 0.000003
+0 1 1 1 total 0.000021 0.000001
+1 1 2 1 total 0.000110 0.000008
+2 1 3 1 total 0.000107 0.000007
+3 1 4 1 total 0.000249 0.000017
+4 1 5 1 total 0.000112 0.000007
+5 1 6 1 total 0.000046 0.000003
material delayedgroup group out nuclide mean std. dev.
-0 10000 1 1 total 0.0 0.000000
-1 10000 2 1 total 1.0 0.869128
-2 10000 3 1 total 1.0 1.414214
-3 10000 4 1 total 1.0 0.360359
-4 10000 5 1 total 0.0 0.000000
-5 10000 6 1 total 0.0 0.000000
+0 1 1 1 total 0.0 0.000000
+1 1 2 1 total 1.0 0.869128
+2 1 3 1 total 1.0 1.414214
+3 1 4 1 total 1.0 0.360359
+4 1 5 1 total 0.0 0.000000
+5 1 6 1 total 0.0 0.000000
material delayedgroup group in nuclide mean std. dev.
-0 10000 1 1 total 0.000227 0.000020
-1 10000 2 1 total 0.001214 0.000108
-2 10000 3 1 total 0.001184 0.000104
-3 10000 4 1 total 0.002752 0.000240
-4 10000 5 1 total 0.001231 0.000105
-5 10000 6 1 total 0.000512 0.000044
+0 1 1 1 total 0.000227 0.000020
+1 1 2 1 total 0.001214 0.000108
+2 1 3 1 total 0.001184 0.000104
+3 1 4 1 total 0.002752 0.000240
+4 1 5 1 total 0.001231 0.000105
+5 1 6 1 total 0.000512 0.000044
material delayedgroup group in nuclide mean std. dev.
-0 10000 1 1 total 0.013355 0.001207
-1 10000 2 1 total 0.032600 0.002866
-2 10000 3 1 total 0.121083 0.010442
-3 10000 4 1 total 0.305910 0.025627
-4 10000 5 1 total 0.861934 0.068281
-5 10000 6 1 total 2.895065 0.230223
+0 1 1 1 total 0.013355 0.001207
+1 1 2 1 total 0.032600 0.002866
+2 1 3 1 total 0.121083 0.010442
+3 1 4 1 total 0.305910 0.025627
+4 1 5 1 total 0.861934 0.068281
+5 1 6 1 total 2.895065 0.230223
material delayedgroup group in group out nuclide mean std. dev.
-0 10000 1 1 1 total 0.000000 0.000000
-1 10000 2 1 1 total 0.000384 0.000236
-2 10000 3 1 1 total 0.000179 0.000180
-3 10000 4 1 1 total 0.000730 0.000188
-4 10000 5 1 1 total 0.000000 0.000000
-5 10000 6 1 1 total 0.000000 0.000000
+0 1 1 1 1 total 0.000000 0.000000
+1 1 2 1 1 total 0.000384 0.000236
+2 1 3 1 1 total 0.000179 0.000180
+3 1 4 1 1 total 0.000730 0.000188
+4 1 5 1 1 total 0.000000 0.000000
+5 1 6 1 1 total 0.000000 0.000000
material group in nuclide mean std. dev.
-0 10001 1 total 0.311594 0.013793
+0 2 1 total 0.311594 0.013793
material group in nuclide mean std. dev.
-0 10001 1 total 0.280977 0.015683
+0 2 1 total 0.280977 0.015683
material group in nuclide mean std. dev.
-0 10001 1 total 0.280977 0.015683
+0 2 1 total 0.280977 0.015683
material group in nuclide mean std. dev.
-0 10001 1 total 0.00221 0.000286
+0 2 1 total 0.00221 0.000286
material group in nuclide mean std. dev.
-0 10001 1 total 0.00221 0.000286
+0 2 1 total 0.00221 0.000286
material group in nuclide mean std. dev.
-0 10001 1 total 0.0 0.0
+0 2 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10001 1 total 0.0 0.0
+0 2 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10001 1 total 0.0 0.0
+0 2 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10001 1 total 0.309384 0.013551
+0 2 1 total 0.309384 0.013551
material group in nuclide mean std. dev.
-0 10001 1 total 0.307987 0.029308
+0 2 1 total 0.307987 0.029308
material group in group out nuclide moment mean std. dev.
-0 10001 1 1 total P0 0.307987 0.029308
-1 10001 1 1 total P1 0.030617 0.007464
-2 10001 1 1 total P2 0.018911 0.004323
-3 10001 1 1 total P3 0.006235 0.003338
+0 2 1 1 total P0 0.307987 0.029308
+1 2 1 1 total P1 0.030617 0.007464
+2 2 1 1 total P2 0.018911 0.004323
+3 2 1 1 total P3 0.006235 0.003338
material group in group out nuclide moment mean std. dev.
-0 10001 1 1 total P0 0.307987 0.029308
-1 10001 1 1 total P1 0.030617 0.007464
-2 10001 1 1 total P2 0.018911 0.004323
-3 10001 1 1 total P3 0.006235 0.003338
+0 2 1 1 total P0 0.307987 0.029308
+1 2 1 1 total P1 0.030617 0.007464
+2 2 1 1 total P2 0.018911 0.004323
+3 2 1 1 total P3 0.006235 0.003338
material group in group out nuclide mean std. dev.
-0 10001 1 1 total 1.0 0.095039
+0 2 1 1 total 1.0 0.095039
material group in group out nuclide mean std. dev.
-0 10001 1 1 total 0.0 0.0
+0 2 1 1 total 0.0 0.0
material group in group out nuclide mean std. dev.
-0 10001 1 1 total 1.0 0.095039
+0 2 1 1 total 1.0 0.095039
material group in group out nuclide moment mean std. dev.
-0 10001 1 1 total P0 0.309384 0.032376
-1 10001 1 1 total P1 0.030756 0.007617
-2 10001 1 1 total P2 0.018997 0.004420
-3 10001 1 1 total P3 0.006263 0.003364
+0 2 1 1 total P0 0.309384 0.032376
+1 2 1 1 total P1 0.030756 0.007617
+2 2 1 1 total P2 0.018997 0.004420
+3 2 1 1 total P3 0.006263 0.003364
material group in group out nuclide moment mean std. dev.
-0 10001 1 1 total P0 0.309384 0.043735
-1 10001 1 1 total P1 0.030756 0.008159
-2 10001 1 1 total P2 0.018997 0.004775
-3 10001 1 1 total P3 0.006263 0.003417
+0 2 1 1 total P0 0.309384 0.043735
+1 2 1 1 total P1 0.030756 0.008159
+2 2 1 1 total P2 0.018997 0.004775
+3 2 1 1 total P3 0.006263 0.003417
material group out nuclide mean std. dev.
-0 10001 1 total 0.0 0.0
+0 2 1 total 0.0 0.0
material group out nuclide mean std. dev.
-0 10001 1 total 0.0 0.0
+0 2 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10001 1 total 5.454762e-07 4.949807e-08
+0 2 1 total 5.454762e-07 4.949807e-08
material group in nuclide mean std. dev.
-0 10001 1 total 0.0 0.0
+0 2 1 total 0.0 0.0
material group in group out nuclide mean std. dev.
-0 10001 1 1 total 0.0 0.0
+0 2 1 1 total 0.0 0.0
material delayedgroup group in nuclide mean std. dev.
-0 10001 1 1 total 0.0 0.0
-1 10001 2 1 total 0.0 0.0
-2 10001 3 1 total 0.0 0.0
-3 10001 4 1 total 0.0 0.0
-4 10001 5 1 total 0.0 0.0
-5 10001 6 1 total 0.0 0.0
+0 2 1 1 total 0.0 0.0
+1 2 2 1 total 0.0 0.0
+2 2 3 1 total 0.0 0.0
+3 2 4 1 total 0.0 0.0
+4 2 5 1 total 0.0 0.0
+5 2 6 1 total 0.0 0.0
material delayedgroup group out nuclide mean std. dev.
-0 10001 1 1 total 0.0 0.0
-1 10001 2 1 total 0.0 0.0
-2 10001 3 1 total 0.0 0.0
-3 10001 4 1 total 0.0 0.0
-4 10001 5 1 total 0.0 0.0
-5 10001 6 1 total 0.0 0.0
+0 2 1 1 total 0.0 0.0
+1 2 2 1 total 0.0 0.0
+2 2 3 1 total 0.0 0.0
+3 2 4 1 total 0.0 0.0
+4 2 5 1 total 0.0 0.0
+5 2 6 1 total 0.0 0.0
material delayedgroup group in nuclide mean std. dev.
-0 10001 1 1 total 0.0 0.0
-1 10001 2 1 total 0.0 0.0
-2 10001 3 1 total 0.0 0.0
-3 10001 4 1 total 0.0 0.0
-4 10001 5 1 total 0.0 0.0
-5 10001 6 1 total 0.0 0.0
+0 2 1 1 total 0.0 0.0
+1 2 2 1 total 0.0 0.0
+2 2 3 1 total 0.0 0.0
+3 2 4 1 total 0.0 0.0
+4 2 5 1 total 0.0 0.0
+5 2 6 1 total 0.0 0.0
material delayedgroup group in nuclide mean std. dev.
-0 10001 1 1 total 0.0 0.0
-1 10001 2 1 total 0.0 0.0
-2 10001 3 1 total 0.0 0.0
-3 10001 4 1 total 0.0 0.0
-4 10001 5 1 total 0.0 0.0
-5 10001 6 1 total 0.0 0.0
+0 2 1 1 total 0.0 0.0
+1 2 2 1 total 0.0 0.0
+2 2 3 1 total 0.0 0.0
+3 2 4 1 total 0.0 0.0
+4 2 5 1 total 0.0 0.0
+5 2 6 1 total 0.0 0.0
material delayedgroup group in group out nuclide mean std. dev.
-0 10001 1 1 1 total 0.0 0.0
-1 10001 2 1 1 total 0.0 0.0
-2 10001 3 1 1 total 0.0 0.0
-3 10001 4 1 1 total 0.0 0.0
-4 10001 5 1 1 total 0.0 0.0
-5 10001 6 1 1 total 0.0 0.0
+0 2 1 1 1 total 0.0 0.0
+1 2 2 1 1 total 0.0 0.0
+2 2 3 1 1 total 0.0 0.0
+3 2 4 1 1 total 0.0 0.0
+4 2 5 1 1 total 0.0 0.0
+5 2 6 1 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10002 1 total 0.904999 0.043964
+0 3 1 total 0.904999 0.043964
material group in nuclide mean std. dev.
-0 10002 1 total 0.494581 0.046763
+0 3 1 total 0.494581 0.046763
material group in nuclide mean std. dev.
-0 10002 1 total 0.494581 0.046763
+0 3 1 total 0.494581 0.046763
material group in nuclide mean std. dev.
-0 10002 1 total 0.00606 0.000555
+0 3 1 total 0.00606 0.000555
material group in nuclide mean std. dev.
-0 10002 1 total 0.00606 0.000555
+0 3 1 total 0.00606 0.000555
material group in nuclide mean std. dev.
-0 10002 1 total 0.0 0.0
+0 3 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10002 1 total 0.0 0.0
+0 3 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10002 1 total 0.0 0.0
+0 3 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10002 1 total 0.898938 0.043493
+0 3 1 total 0.898938 0.043493
material group in nuclide mean std. dev.
-0 10002 1 total 0.903415 0.043959
+0 3 1 total 0.903415 0.043959
material group in group out nuclide moment mean std. dev.
-0 10002 1 1 total P0 0.903415 0.043586
-1 10002 1 1 total P1 0.410417 0.015877
-2 10002 1 1 total P2 0.143301 0.007187
-3 10002 1 1 total P3 0.008739 0.003571
+0 3 1 1 total P0 0.903415 0.043586
+1 3 1 1 total P1 0.410417 0.015877
+2 3 1 1 total P2 0.143301 0.007187
+3 3 1 1 total P3 0.008739 0.003571
material group in group out nuclide moment mean std. dev.
-0 10002 1 1 total P0 0.903415 0.043586
-1 10002 1 1 total P1 0.410417 0.015877
-2 10002 1 1 total P2 0.143301 0.007187
-3 10002 1 1 total P3 0.008739 0.003571
+0 3 1 1 total P0 0.903415 0.043586
+1 3 1 1 total P1 0.410417 0.015877
+2 3 1 1 total P2 0.143301 0.007187
+3 3 1 1 total P3 0.008739 0.003571
material group in group out nuclide mean std. dev.
-0 10002 1 1 total 1.0 0.056867
+0 3 1 1 total 1.0 0.056867
material group in group out nuclide mean std. dev.
-0 10002 1 1 total 0.0 0.0
+0 3 1 1 total 0.0 0.0
material group in group out nuclide mean std. dev.
-0 10002 1 1 total 1.0 0.056867
+0 3 1 1 total 1.0 0.056867
material group in group out nuclide moment mean std. dev.
-0 10002 1 1 total P0 0.898938 0.067118
-1 10002 1 1 total P1 0.408384 0.028127
-2 10002 1 1 total P2 0.142591 0.010824
-3 10002 1 1 total P3 0.008696 0.003588
+0 3 1 1 total P0 0.898938 0.067118
+1 3 1 1 total P1 0.408384 0.028127
+2 3 1 1 total P2 0.142591 0.010824
+3 3 1 1 total P3 0.008696 0.003588
material group in group out nuclide moment mean std. dev.
-0 10002 1 1 total P0 0.898938 0.084369
-1 10002 1 1 total P1 0.408384 0.036475
-2 10002 1 1 total P2 0.142591 0.013525
-3 10002 1 1 total P3 0.008696 0.003622
+0 3 1 1 total P0 0.898938 0.084369
+1 3 1 1 total P1 0.408384 0.036475
+2 3 1 1 total P2 0.142591 0.013525
+3 3 1 1 total P3 0.008696 0.003622
material group out nuclide mean std. dev.
-0 10002 1 total 0.0 0.0
+0 3 1 total 0.0 0.0
material group out nuclide mean std. dev.
-0 10002 1 total 0.0 0.0
+0 3 1 total 0.0 0.0
material group in nuclide mean std. dev.
-0 10002 1 total 5.773007e-07 5.322133e-08
+0 3 1 total 5.773007e-07 5.322133e-08
material group in nuclide mean std. dev.
-0 10002 1 total 0.0 0.0
+0 3 1 total 0.0 0.0
material group in group out nuclide mean std. dev.
-0 10002 1 1 total 0.0 0.0
+0 3 1 1 total 0.0 0.0
material delayedgroup group in nuclide mean std. dev.
-0 10002 1 1 total 0.0 0.0
-1 10002 2 1 total 0.0 0.0
-2 10002 3 1 total 0.0 0.0
-3 10002 4 1 total 0.0 0.0
-4 10002 5 1 total 0.0 0.0
-5 10002 6 1 total 0.0 0.0
+0 3 1 1 total 0.0 0.0
+1 3 2 1 total 0.0 0.0
+2 3 3 1 total 0.0 0.0
+3 3 4 1 total 0.0 0.0
+4 3 5 1 total 0.0 0.0
+5 3 6 1 total 0.0 0.0
material delayedgroup group out nuclide mean std. dev.
-0 10002 1 1 total 0.0 0.0
-1 10002 2 1 total 0.0 0.0
-2 10002 3 1 total 0.0 0.0
-3 10002 4 1 total 0.0 0.0
-4 10002 5 1 total 0.0 0.0
-5 10002 6 1 total 0.0 0.0
+0 3 1 1 total 0.0 0.0
+1 3 2 1 total 0.0 0.0
+2 3 3 1 total 0.0 0.0
+3 3 4 1 total 0.0 0.0
+4 3 5 1 total 0.0 0.0
+5 3 6 1 total 0.0 0.0
material delayedgroup group in nuclide mean std. dev.
-0 10002 1 1 total 0.0 0.0
-1 10002 2 1 total 0.0 0.0
-2 10002 3 1 total 0.0 0.0
-3 10002 4 1 total 0.0 0.0
-4 10002 5 1 total 0.0 0.0
-5 10002 6 1 total 0.0 0.0
+0 3 1 1 total 0.0 0.0
+1 3 2 1 total 0.0 0.0
+2 3 3 1 total 0.0 0.0
+3 3 4 1 total 0.0 0.0
+4 3 5 1 total 0.0 0.0
+5 3 6 1 total 0.0 0.0
material delayedgroup group in nuclide mean std. dev.
-0 10002 1 1 total 0.0 0.0
-1 10002 2 1 total 0.0 0.0
-2 10002 3 1 total 0.0 0.0
-3 10002 4 1 total 0.0 0.0
-4 10002 5 1 total 0.0 0.0
-5 10002 6 1 total 0.0 0.0
+0 3 1 1 total 0.0 0.0
+1 3 2 1 total 0.0 0.0
+2 3 3 1 total 0.0 0.0
+3 3 4 1 total 0.0 0.0
+4 3 5 1 total 0.0 0.0
+5 3 6 1 total 0.0 0.0
material delayedgroup group in group out nuclide mean std. dev.
-0 10002 1 1 1 total 0.0 0.0
-1 10002 2 1 1 total 0.0 0.0
-2 10002 3 1 1 total 0.0 0.0
-3 10002 4 1 1 total 0.0 0.0
-4 10002 5 1 1 total 0.0 0.0
-5 10002 6 1 1 total 0.0 0.0
+0 3 1 1 1 total 0.0 0.0
+1 3 2 1 1 total 0.0 0.0
+2 3 3 1 1 total 0.0 0.0
+3 3 4 1 1 total 0.0 0.0
+4 3 5 1 1 total 0.0 0.0
+5 3 6 1 1 total 0.0 0.0
diff --git a/tests/test_mgxs_library_distribcell/inputs_true.dat b/tests/test_mgxs_library_distribcell/inputs_true.dat
index 44b7eb1d82..c844ea56a9 100644
--- a/tests/test_mgxs_library_distribcell/inputs_true.dat
+++ b/tests/test_mgxs_library_distribcell/inputs_true.dat
@@ -1,52 +1,52 @@
- |
- |
- |
- |
- |
- |
- |
-
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
1.26 1.26
17 17
-10.71 -10.71
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10000 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10000 10000 10000
-10000 10000 10000 10001 10000 10000 10000 10000 10000 10000 10000 10000 10000 10001 10000 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10000 10001 10000 10000 10000 10000 10000 10000 10000 10000 10000 10001 10000 10000 10000
-10000 10000 10000 10000 10000 10001 10000 10000 10001 10000 10000 10001 10000 10000 10000 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
-10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
+1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1
+1 1 1 1 1 2 1 1 2 1 1 2 1 1 1 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
@@ -54,7 +54,7 @@
-
+
@@ -77,386 +77,386 @@
-
- 10000
+
+ 1
-
+
0.0 20000000.0
-
+
0.0 20000000.0
-
+
1 2 3 4 5 6
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
nu-scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
kappa-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001
+
+ 1 2
total
nu-scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter-P3
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-fission
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter-0
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-0
analog
-
- 10000 10001
+
+ 1 2
total
nu-fission
analog
-
- 10000 10004
+
+ 1 5
total
nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
prompt-nu-fission
analog
-
- 10000 10004
+
+ 1 5
total
prompt-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
inverse-velocity
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
prompt-nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
prompt-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
analog
-
- 10000 10058 10004
+
+ 1 59 5
total
delayed-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
decay-rate
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10058 10001 10004
+
+ 1 59 2 5
total
delayed-nu-fission
analog
diff --git a/tests/test_mgxs_library_hdf5/inputs_true.dat b/tests/test_mgxs_library_hdf5/inputs_true.dat
index f33efe8637..df941a7645 100644
--- a/tests/test_mgxs_library_hdf5/inputs_true.dat
+++ b/tests/test_mgxs_library_hdf5/inputs_true.dat
@@ -1,25 +1,25 @@
- |
- |
- |
-
-
-
-
-
-
+ |
+ |
+ |
+
+
+
+
+
+
-
+
-
+
@@ -27,7 +27,7 @@
-
+
@@ -50,1139 +50,1139 @@
-
- 10000
+
+ 1
-
+
0.0 0.625 20000000.0
-
+
0.0 0.625 20000000.0
-
+
0.0 20000000.0
-
+
1 2 3 4 5 6
-
- 10001
+
+ 2
-
- 10002
+
+ 3
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
nu-scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
kappa-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001
+
+ 1 2
total
nu-scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter-P3
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-fission
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
nu-scatter-0
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-0
analog
-
- 10000 10045
+
+ 1 46
total
nu-fission
analog
-
- 10000 10004
+
+ 1 5
total
nu-fission
analog
-
- 10000 10045
+
+ 1 46
total
prompt-nu-fission
analog
-
- 10000 10004
+
+ 1 5
total
prompt-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
inverse-velocity
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
prompt-nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
prompt-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10045
+
+ 1 59 46
total
delayed-nu-fission
analog
-
- 10000 10058 10004
+
+ 1 59 5
total
delayed-nu-fission
analog
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
delayed-nu-fission
tracklength
-
- 10000 10058 10001
+
+ 1 59 2
total
decay-rate
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10058 10001 10004
+
+ 1 59 2 5
total
delayed-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
total
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
total
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10004
+
+ 74 5
total
scatter-1
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
total
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10004
+
+ 74 5
total
nu-scatter-1
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
absorption
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
absorption
tracklength
-
- 10073 10001
+
+ 74 2
total
fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
nu-fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
kappa-fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
scatter
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001
+
+ 74 2
total
nu-scatter
analog
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-P3
analog
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-scatter-P3
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-scatter
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter
analog
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-fission
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
scatter
tracklength
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-P3
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
scatter
tracklength
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-P3
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
nu-scatter-0
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
scatter-0
analog
-
- 10073 10045
+
+ 74 46
total
nu-fission
analog
-
- 10073 10004
+
+ 74 5
total
nu-fission
analog
-
- 10073 10045
+
+ 74 46
total
prompt-nu-fission
analog
-
- 10073 10004
+
+ 74 5
total
prompt-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
inverse-velocity
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10001
+
+ 74 2
total
prompt-nu-fission
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10001 10004
+
+ 74 2 5
total
prompt-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
flux
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
delayed-nu-fission
tracklength
-
- 10073 10058 10045
+
+ 74 59 46
total
delayed-nu-fission
analog
-
- 10073 10058 10004
+
+ 74 59 5
total
delayed-nu-fission
analog
-
- 10073 10001
+
+ 74 2
total
nu-fission
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
delayed-nu-fission
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
delayed-nu-fission
tracklength
-
- 10073 10058 10001
+
+ 74 59 2
total
decay-rate
tracklength
-
- 10073 10001
+
+ 74 2
total
flux
analog
-
- 10073 10058 10001 10004
+
+ 74 59 2 5
total
delayed-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
total
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
total
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10004
+
+ 147 5
total
scatter-1
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
total
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10004
+
+ 147 5
total
nu-scatter-1
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
absorption
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
absorption
tracklength
-
- 10146 10001
+
+ 147 2
total
fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
nu-fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
kappa-fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
scatter
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001
+
+ 147 2
total
nu-scatter
analog
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-P3
analog
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-scatter-P3
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-scatter
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter
analog
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-fission
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
scatter
tracklength
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-P3
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
scatter
tracklength
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-P3
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
nu-scatter-0
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
scatter-0
analog
-
- 10146 10045
+
+ 147 46
total
nu-fission
analog
-
- 10146 10004
+
+ 147 5
total
nu-fission
analog
-
- 10146 10045
+
+ 147 46
total
prompt-nu-fission
analog
-
- 10146 10004
+
+ 147 5
total
prompt-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
inverse-velocity
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10001
+
+ 147 2
total
prompt-nu-fission
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10001 10004
+
+ 147 2 5
total
prompt-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
flux
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
delayed-nu-fission
tracklength
-
- 10146 10058 10045
+
+ 147 59 46
total
delayed-nu-fission
analog
-
- 10146 10058 10004
+
+ 147 59 5
total
delayed-nu-fission
analog
-
- 10146 10001
+
+ 147 2
total
nu-fission
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
delayed-nu-fission
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
delayed-nu-fission
tracklength
-
- 10146 10058 10001
+
+ 147 59 2
total
decay-rate
tracklength
-
- 10146 10001
+
+ 147 2
total
flux
analog
-
- 10146 10058 10001 10004
+
+ 147 59 2 5
total
delayed-nu-fission
analog
diff --git a/tests/test_mgxs_library_hdf5/results_true.dat b/tests/test_mgxs_library_hdf5/results_true.dat
index 1c95510970..18873664f5 100644
--- a/tests/test_mgxs_library_hdf5/results_true.dat
+++ b/tests/test_mgxs_library_hdf5/results_true.dat
@@ -1,34 +1,34 @@
-domain=10000 type=total
+domain=1 type=total
[4.14825464e-01 6.60169863e-01]
[2.27929105e-02 4.75188999e-02]
-domain=10000 type=transport
+domain=1 type=transport
[3.63092031e-01 6.44850709e-01]
[2.38384843e-02 4.76746408e-02]
-domain=10000 type=nu-transport
+domain=1 type=nu-transport
[3.63092031e-01 6.44850709e-01]
[2.38384843e-02 4.76746408e-02]
-domain=10000 type=absorption
+domain=1 type=absorption
[2.74078431e-02 2.64510714e-01]
[2.69249666e-03 2.33670618e-02]
-domain=10000 type=capture
+domain=1 type=capture
[1.98445483e-02 7.17193458e-02]
[2.64330389e-03 2.52078411e-02]
-domain=10000 type=fission
+domain=1 type=fission
[7.56329483e-03 1.92791369e-01]
[5.08483896e-04 1.71059103e-02]
-domain=10000 type=nu-fission
+domain=1 type=nu-fission
[1.94317397e-02 4.69774728e-01]
[1.32297611e-03 4.16819716e-02]
-domain=10000 type=kappa-fission
+domain=1 type=kappa-fission
[1.47456979e+06 3.72868925e+07]
[9.92353629e+04 3.30837549e+06]
-domain=10000 type=scatter
+domain=1 type=scatter
[3.87417621e-01 3.95659148e-01]
[2.06257343e-02 2.51250447e-02]
-domain=10000 type=nu-scatter
+domain=1 type=nu-scatter
[3.85188361e-01 4.12389370e-01]
[2.69456191e-02 1.54252759e-02]
-domain=10000 type=scatter matrix
+domain=1 type=scatter matrix
[[[3.84199430e-01 5.18702806e-02 2.00688439e-02 9.47771503e-03]
[9.88930322e-04 -2.07234582e-04 -1.03366173e-04 2.34290606e-04]]
@@ -39,7 +39,7 @@ domain=10000 type=scatter matrix
[[9.24883397e-04 7.67907131e-04 4.93918903e-04 1.71542390e-04]
[1.52449343e-02 4.50172764e-03 1.05507486e-02 1.04381870e-02]]]
-domain=10000 type=nu-scatter matrix
+domain=1 type=nu-scatter matrix
[[[3.84199430e-01 5.18702806e-02 2.00688439e-02 9.47771503e-03]
[9.88930322e-04 -2.07234582e-04 -1.03366173e-04 2.34290606e-04]]
@@ -50,22 +50,22 @@ domain=10000 type=nu-scatter matrix
[[9.24883397e-04 7.67907131e-04 4.93918903e-04 1.71542390e-04]
[1.52449343e-02 4.50172764e-03 1.05507486e-02 1.04381870e-02]]]
-domain=10000 type=multiplicity matrix
+domain=1 type=multiplicity matrix
[[1.00000000e+00 1.00000000e+00]
[1.00000000e+00 1.00000000e+00]]
[[7.85164550e-02 6.87184271e-01]
[1.41421356e+00 4.11303488e-02]]
-domain=10000 type=nu-fission matrix
+domain=1 type=nu-fission matrix
[[2.01424221e-02 0.00000000e+00]
[4.54366342e-01 0.00000000e+00]]
[[3.14909051e-03 0.00000000e+00]
[2.74255162e-02 0.00000000e+00]]
-domain=10000 type=scatter probability matrix
+domain=1 type=scatter probability matrix
[[9.97432606e-01 2.56739409e-03]
[2.24215247e-03 9.97757848e-01]]
[[7.82243018e-02 1.25560869e-03]
[2.24310192e-03 4.10531468e-02]]
-domain=10000 type=consistent scatter matrix
+domain=1 type=consistent scatter matrix
[[[3.86422967e-01 5.21704775e-02 2.01849914e-02 9.53256688e-03]
[9.94653712e-04 -2.08433942e-04 -1.03964400e-04 2.35646553e-04]]
@@ -76,7 +76,7 @@ domain=10000 type=consistent scatter matrix
[[8.89289900e-04 7.38354757e-04 4.74910776e-04 1.64940700e-04]
[2.98710064e-02 4.44330993e-03 1.01307463e-02 1.00367467e-02]]]
-domain=10000 type=consistent nu-scatter matrix
+domain=1 type=consistent nu-scatter matrix
[[[3.86422967e-01 5.21704775e-02 2.01849914e-02 9.53256688e-03]
[9.94653712e-04 -2.08433942e-04 -1.03964400e-04 2.35646553e-04]]
@@ -87,24 +87,24 @@ domain=10000 type=consistent nu-scatter matrix
[[1.53780011e-03 1.27679627e-03 8.21237084e-04 2.85222881e-04]
[3.39988352e-02 4.49065920e-03 1.01338659e-02 1.00452944e-02]]]
-domain=10000 type=chi
+domain=1 type=chi
[1.00000000e+00 0.00000000e+00]
[4.60705493e-02 0.00000000e+00]
-domain=10000 type=chi-prompt
+domain=1 type=chi-prompt
[1.00000000e+00 0.00000000e+00]
[5.14714845e-02 0.00000000e+00]
-domain=10000 type=inverse-velocity
+domain=1 type=inverse-velocity
[5.70932437e-08 2.85573948e-06]
[4.68793810e-09 2.44216368e-07]
-domain=10000 type=prompt-nu-fission
+domain=1 type=prompt-nu-fission
[1.92392209e-02 4.66718979e-01]
[1.30950644e-03 4.14108424e-02]
-domain=10000 type=prompt-nu-fission matrix
+domain=1 type=prompt-nu-fission matrix
[[2.01424221e-02 0.00000000e+00]
[4.45819055e-01 0.00000000e+00]]
[[3.14909051e-03 0.00000000e+00]
[2.86750878e-02 0.00000000e+00]]
-domain=10000 type=delayed-nu-fission
+domain=1 type=delayed-nu-fission
[[4.31687649e-06 1.06974147e-04]
[2.69760050e-05 5.52167849e-04]
[2.84366794e-05 5.27147626e-04]
@@ -117,7 +117,7 @@ domain=10000 type=delayed-nu-fission
[5.22610330e-06 1.04867938e-04]
[2.99830756e-06 4.29944539e-05]
[1.22654681e-06 1.80102228e-05]]
-domain=10000 type=chi-delayed
+domain=1 type=chi-delayed
[[0.00000000e+00 0.00000000e+00]
[1.00000000e+00 0.00000000e+00]
[1.00000000e+00 0.00000000e+00]
@@ -130,7 +130,7 @@ domain=10000 type=chi-delayed
[3.60359016e-01 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10000 type=beta
+domain=1 type=beta
[[2.22155945e-04 2.27713711e-04]
[1.38824446e-03 1.17538858e-03]
[1.46341397e-03 1.12212853e-03]
@@ -143,7 +143,7 @@ domain=10000 type=beta
[3.21434953e-04 2.72840272e-04]
[1.82980531e-04 1.11860871e-04]
[7.48900067e-05 4.68581181e-05]]
-domain=10000 type=decay-rate
+domain=1 type=decay-rate
[[1.34450193e-02 1.33360001e-02]
[3.20638663e-02 3.27389978e-02]
[1.22136025e-01 1.20780007e-01]
@@ -156,7 +156,7 @@ domain=10000 type=decay-rate
[2.71748572e-02 3.28353145e-02]
[7.93682892e-02 9.21238900e-02]
[2.66253284e-01 3.09396760e-01]]
-domain=10000 type=delayed-nu-fission matrix
+domain=1 type=delayed-nu-fission matrix
[[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
@@ -191,37 +191,37 @@ domain=10000 type=delayed-nu-fission matrix
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]]
-domain=10001 type=total
+domain=2 type=total
[3.13737666e-01 3.00821380e-01]
[1.55819223e-02 2.80524816e-02]
-domain=10001 type=transport
+domain=2 type=transport
[2.75508079e-01 3.12035015e-01]
[1.77418855e-02 3.23843473e-02]
-domain=10001 type=nu-transport
+domain=2 type=nu-transport
[2.75508079e-01 3.12035015e-01]
[1.77418855e-02 3.23843473e-02]
-domain=10001 type=absorption
+domain=2 type=absorption
[1.57499139e-03 5.40037826e-03]
[3.22547919e-04 6.18139027e-04]
-domain=10001 type=capture
+domain=2 type=capture
[1.57499139e-03 5.40037826e-03]
[3.22547919e-04 6.18139027e-04]
-domain=10001 type=fission
+domain=2 type=fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10001 type=nu-fission
+domain=2 type=nu-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10001 type=kappa-fission
+domain=2 type=kappa-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10001 type=scatter
+domain=2 type=scatter
[3.12162675e-01 2.95421002e-01]
[1.53219430e-02 2.74455213e-02]
-domain=10001 type=nu-scatter
+domain=2 type=nu-scatter
[3.10120713e-01 2.96264249e-01]
[3.37881037e-02 4.37922226e-02]
-domain=10001 type=scatter matrix
+domain=2 type=scatter matrix
[[[3.10120713e-01 3.82295876e-02 2.07449405e-02 7.96429620e-03]
[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
@@ -232,7 +232,7 @@ domain=10001 type=scatter matrix
[[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
[4.37922226e-02 1.61803653e-02 1.15039636e-02 7.32884528e-03]]]
-domain=10001 type=nu-scatter matrix
+domain=2 type=nu-scatter matrix
[[[3.10120713e-01 3.82295876e-02 2.07449405e-02 7.96429620e-03]
[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
@@ -243,22 +243,22 @@ domain=10001 type=nu-scatter matrix
[[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
[4.37922226e-02 1.61803653e-02 1.15039636e-02 7.32884528e-03]]]
-domain=10001 type=multiplicity matrix
+domain=2 type=multiplicity matrix
[[1.00000000e+00 0.00000000e+00]
[0.00000000e+00 1.00000000e+00]]
[[1.08778697e-01 0.00000000e+00]
[0.00000000e+00 1.42427173e-01]]
-domain=10001 type=nu-fission matrix
+domain=2 type=nu-fission matrix
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10001 type=scatter probability matrix
+domain=2 type=scatter probability matrix
[[1.00000000e+00 0.00000000e+00]
[0.00000000e+00 1.00000000e+00]]
[[1.08778697e-01 0.00000000e+00]
[0.00000000e+00 1.42427173e-01]]
-domain=10001 type=consistent scatter matrix
+domain=2 type=consistent scatter matrix
[[[3.12162675e-01 3.84813069e-02 2.08815337e-02 8.01673640e-03]
[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
@@ -269,7 +269,7 @@ domain=10001 type=consistent scatter matrix
[[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
[5.02358893e-02 1.61616720e-02 1.14951123e-02 7.31312479e-03]]]
-domain=10001 type=consistent nu-scatter matrix
+domain=2 type=consistent nu-scatter matrix
[[[3.12162675e-01 3.84813069e-02 2.08815337e-02 8.01673640e-03]
[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]]
@@ -280,24 +280,24 @@ domain=10001 type=consistent nu-scatter matrix
[[0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]
[6.55288678e-02 1.62399493e-02 1.15634161e-02 7.32785650e-03]]]
-domain=10001 type=chi
+domain=2 type=chi
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10001 type=chi-prompt
+domain=2 type=chi-prompt
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10001 type=inverse-velocity
+domain=2 type=inverse-velocity
[5.99597929e-08 2.98549016e-06]
[4.55308445e-09 3.41701982e-07]
-domain=10001 type=prompt-nu-fission
+domain=2 type=prompt-nu-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10001 type=prompt-nu-fission matrix
+domain=2 type=prompt-nu-fission matrix
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10001 type=delayed-nu-fission
+domain=2 type=delayed-nu-fission
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -310,7 +310,7 @@ domain=10001 type=delayed-nu-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10001 type=chi-delayed
+domain=2 type=chi-delayed
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -323,7 +323,7 @@ domain=10001 type=chi-delayed
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10001 type=beta
+domain=2 type=beta
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -336,7 +336,7 @@ domain=10001 type=beta
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10001 type=decay-rate
+domain=2 type=decay-rate
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -349,7 +349,7 @@ domain=10001 type=decay-rate
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10001 type=delayed-nu-fission matrix
+domain=2 type=delayed-nu-fission matrix
[[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
@@ -384,37 +384,37 @@ domain=10001 type=delayed-nu-fission matrix
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]]
-domain=10002 type=total
+domain=3 type=total
[6.64572195e-01 2.05238389e+00]
[3.12147473e-02 2.24342891e-01]
-domain=10002 type=transport
+domain=3 type=transport
[2.83322749e-01 1.49973953e+00]
[3.52061127e-02 2.30902118e-01]
-domain=10002 type=nu-transport
+domain=3 type=nu-transport
[2.83322749e-01 1.49973953e+00]
[3.52061127e-02 2.30902118e-01]
-domain=10002 type=absorption
+domain=3 type=absorption
[6.90399495e-04 3.16872549e-02]
[4.41475663e-05 3.74655831e-03]
-domain=10002 type=capture
+domain=3 type=capture
[6.90399495e-04 3.16872549e-02]
[4.41475663e-05 3.74655831e-03]
-domain=10002 type=fission
+domain=3 type=fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10002 type=nu-fission
+domain=3 type=nu-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10002 type=kappa-fission
+domain=3 type=kappa-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10002 type=scatter
+domain=3 type=scatter
[6.63881795e-01 2.02069663e+00]
[3.11726794e-02 2.20604438e-01]
-domain=10002 type=nu-scatter
+domain=3 type=nu-scatter
[6.71269157e-01 2.03538818e+00]
[2.61863693e-02 2.58060310e-01]
-domain=10002 type=scatter matrix
+domain=3 type=scatter matrix
[[[6.39901439e-01 3.81167422e-01 1.52391887e-01 9.14802163e-03]
[3.13677176e-02 8.75772258e-03 -2.56790088e-03 -3.78480261e-03]]
@@ -425,7 +425,7 @@ domain=10002 type=scatter matrix
[[4.44850361e-04 4.01320154e-04 3.20649120e-04 2.14573982e-04]
[2.57799870e-01 5.12359026e-02 1.30198161e-02 8.31235197e-03]]]
-domain=10002 type=nu-scatter matrix
+domain=3 type=nu-scatter matrix
[[[6.39901439e-01 3.81167422e-01 1.52391887e-01 9.14802163e-03]
[3.13677176e-02 8.75772258e-03 -2.56790088e-03 -3.78480261e-03]]
@@ -436,22 +436,22 @@ domain=10002 type=nu-scatter matrix
[[4.44850361e-04 4.01320154e-04 3.20649120e-04 2.14573982e-04]
[2.57799870e-01 5.12359026e-02 1.30198161e-02 8.31235197e-03]]]
-domain=10002 type=multiplicity matrix
+domain=3 type=multiplicity matrix
[[1.00000000e+00 1.00000000e+00]
[1.00000000e+00 1.00000000e+00]]
[[3.86091908e-02 6.76673480e-02]
[1.41421356e+00 1.35929207e-01]]
-domain=10002 type=nu-fission matrix
+domain=3 type=nu-fission matrix
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10002 type=scatter probability matrix
+domain=3 type=scatter probability matrix
[[9.53271028e-01 4.67289720e-02]
[2.17817469e-04 9.99782183e-01]]
[[3.60184962e-02 2.54736726e-03]
[2.18820864e-04 1.35884974e-01]]
-domain=10002 type=consistent scatter matrix
+domain=3 type=consistent scatter matrix
[[[6.32859281e-01 3.76972649e-01 1.50714804e-01 9.04734705e-03]
[3.10225138e-02 8.66134326e-03 -2.53964096e-03 -3.74315061e-03]]
@@ -462,7 +462,7 @@ domain=10002 type=consistent scatter matrix
[[4.44773843e-04 4.01251123e-04 3.20593966e-04 2.14537073e-04]
[3.52193929e-01 7.91402819e-02 1.84875925e-02 8.77085752e-03]]]
-domain=10002 type=consistent nu-scatter matrix
+domain=3 type=consistent nu-scatter matrix
[[[6.32859281e-01 3.76972649e-01 1.50714804e-01 9.04734705e-03]
[3.10225138e-02 8.66134326e-03 -2.53964096e-03 -3.74315061e-03]]
@@ -473,24 +473,24 @@ domain=10002 type=consistent nu-scatter matrix
[[7.65033031e-04 6.90171798e-04 5.51437493e-04 3.69014387e-04]
[4.46600759e-01 1.04874946e-01 2.38091367e-02 9.39676938e-03]]]
-domain=10002 type=chi
+domain=3 type=chi
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10002 type=chi-prompt
+domain=3 type=chi-prompt
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10002 type=inverse-velocity
+domain=3 type=inverse-velocity
[6.02207835e-08 3.04495548e-06]
[3.78043705e-09 3.60007679e-07]
-domain=10002 type=prompt-nu-fission
+domain=3 type=prompt-nu-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
-domain=10002 type=prompt-nu-fission matrix
+domain=3 type=prompt-nu-fission matrix
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10002 type=delayed-nu-fission
+domain=3 type=delayed-nu-fission
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -503,7 +503,7 @@ domain=10002 type=delayed-nu-fission
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10002 type=chi-delayed
+domain=3 type=chi-delayed
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -516,7 +516,7 @@ domain=10002 type=chi-delayed
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10002 type=beta
+domain=3 type=beta
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -529,7 +529,7 @@ domain=10002 type=beta
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10002 type=decay-rate
+domain=3 type=decay-rate
[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
@@ -542,7 +542,7 @@ domain=10002 type=decay-rate
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
-domain=10002 type=delayed-nu-fission matrix
+domain=3 type=delayed-nu-fission matrix
[[[0.00000000e+00 0.00000000e+00]
[0.00000000e+00 0.00000000e+00]]
diff --git a/tests/test_mgxs_library_mesh/inputs_true.dat b/tests/test_mgxs_library_mesh/inputs_true.dat
index 365c4a2afc..0a4271256e 100644
--- a/tests/test_mgxs_library_mesh/inputs_true.dat
+++ b/tests/test_mgxs_library_mesh/inputs_true.dat
@@ -314,386 +314,386 @@
-100.0 -100.0
100.0 100.0
-
+
1
-
+
0.0 20000000.0
-
+
0.0 20000000.0
-
+
1 2 3 4 5 6
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
total
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10004
+
+ 1 5
total
nu-scatter-1
analog
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
absorption
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
nu-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
kappa-fission
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
tracklength
-
- 10000 10001
+
+ 1 2
total
scatter
tracklength
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001
+
+ 1 2
total
nu-scatter
analog
-
- 10000 10001
+
+ 1 2
total
flux
analog
-
- 10000 10001 10004
+
+ 1 2 5
total
scatter-P3
analog
-
- 10000 10001
+
+