diff --git a/docs/source/pythonapi/mgxs.rst b/docs/source/pythonapi/mgxs.rst
index 6dc35e66d..a25a89c09 100644
--- a/docs/source/pythonapi/mgxs.rst
+++ b/docs/source/pythonapi/mgxs.rst
@@ -34,6 +34,7 @@ Multi-group Cross Sections
openmc.mgxs.CaptureXS
openmc.mgxs.Chi
openmc.mgxs.Current
+ openmc.mgxs.DiffusionCoefficient
openmc.mgxs.FissionXS
openmc.mgxs.InverseVelocity
openmc.mgxs.KappaFissionXS
diff --git a/openmc/mgxs/mgxs.py b/openmc/mgxs/mgxs.py
index 5525a6da0..27b67839f 100644
--- a/openmc/mgxs/mgxs.py
+++ b/openmc/mgxs/mgxs.py
@@ -37,7 +37,8 @@ MGXS_TYPES = (
'inverse-velocity',
'prompt-nu-fission',
'prompt-nu-fission matrix',
- 'current'
+ 'current',
+ 'diffusion-coefficient'
)
# Supported domain types
@@ -696,7 +697,7 @@ class MGXS:
Parameters
----------
- mgxs_type : {'total', 'transport', 'nu-transport', 'absorption', 'capture', 'fission', 'nu-fission', 'kappa-fission', 'scatter', 'nu-scatter', 'scatter matrix', 'nu-scatter matrix', 'multiplicity matrix', 'nu-fission matrix', 'chi', 'chi-prompt', 'inverse-velocity', 'prompt-nu-fission', 'prompt-nu-fission matrix', 'current'}
+ mgxs_type : {'total', 'transport', 'nu-transport', 'absorption', 'capture', 'fission', 'nu-fission', 'kappa-fission', 'scatter', 'nu-scatter', 'scatter matrix', 'nu-scatter matrix', 'multiplicity matrix', 'nu-fission matrix', 'chi', 'chi-prompt', 'inverse-velocity', 'prompt-nu-fission', 'prompt-nu-fission matrix', 'current', 'diffusion-coefficient'}
The type of multi-group cross section object to return
domain : openmc.Material or openmc.Cell or openmc.Universe or openmc.RegularMesh
The domain for spatial homogenization
@@ -776,6 +777,8 @@ class MGXS:
prompt=True)
elif mgxs_type == 'current':
mgxs = Current(domain, domain_type, energy_groups)
+ elif mgxs_type == 'diffusion-coefficient':
+ mgxs = DiffusionCoefficient(domain, domain_type, energy_groups)
mgxs.by_nuclide = by_nuclide
mgxs.name = name
@@ -2829,6 +2832,294 @@ class TransportXS(MGXS):
self._rxn_type = 'nu-transport'
+class DiffusionCoefficient(TransportXS):
+ r"""A diffusion coefficient multi-group cross section.
+
+ This class can be used for both OpenMC input generation and tally data
+ post-processing to compute spatially-homogenized and energy-integrated
+ multi-group cross sections for multi-group neutronics calculations. At a
+ minimum, one needs to set the :attr:`DiffusionCoefficient.energy_groups` and
+ :attr:`DiffusionCoefficient.domain` properties. Tallies for the flux and appropriate
+ reaction rates over the specified domain are generated automatically via the
+ :attr:`DiffusionCoefficient.tallies` property, which can then be appended to a
+ :class:`openmc.Tallies` instance.
+
+ For post-processing, the :meth:`MGXS.load_from_statepoint` will pull in the
+ necessary data to compute multi-group cross sections from a
+ :class:`openmc.StatePoint` instance. The derived multi-group cross section
+ can then be obtained from the :attr:`DiffusionCoefficient.xs_tally` property.
+
+ For a spatial domain :math:`V` and energy group :math:`[E_g,E_{g-1}]`, the
+ diffusion coefficient is calculated as:
+
+ .. math::
+
+ \begin{aligned}
+ \langle \sigma_t \phi \rangle &= \int_{r \in V} dr \int_{4\pi}
+ d\Omega \int_{E_g}^{E_{g-1}} dE \sigma_t (r, E) \psi
+ (r, E, \Omega) \\
+ \langle \sigma_{s1} \phi \rangle &= \int_{r \in V} dr
+ \int_{4\pi} d\Omega \int_{E_g}^{E_{g-1}} dE \int_{4\pi}
+ d\Omega' \int_0^\infty dE' \int_{-1}^1 d\mu \; \mu \sigma_s
+ (r, E' \rightarrow E, \Omega' \cdot \Omega)
+ \phi (r, E', \Omega) \\
+ \langle \phi \rangle &= \int_{r \in V} dr \int_{4\pi} d\Omega
+ \int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega) \\
+ \sigma_{tr} &= \frac{\langle \sigma_t \phi \rangle - \langle \sigma_{s1}
+ \phi \rangle}{\langle \phi \rangle} \\
+ D = \frac{1}{3 \sigma_{tr}}
+ \end{aligned}
+
+ Parameters
+ ----------
+ domain : openmc.Material or openmc.Cell or openmc.Universe or openmc.RegularMesh
+ The domain for spatial homogenization
+ domain_type : {'material', 'cell', 'distribcell', 'universe', 'mesh'}
+ The domain type for spatial homogenization
+ groups : openmc.mgxs.EnergyGroups
+ The energy group structure for energy condensation
+ nu : bool
+ If True, the cross section data will include neutron multiplication;
+ must be False in DiffusionCoefficient.
+ by_nuclide : bool
+ If true, computes cross sections for each nuclide in domain
+ name : str, optional
+ Name of the multi-group cross section. Used as a label to identify
+ tallies in OpenMC 'tallies.xml' file.
+ num_polar : Integral, optional
+ Number of equi-width polar angle bins for angle discretization;
+ defaults to one bin
+ num_azimuthal : Integral, optional
+ Number of equi-width azimuthal angle bins for angle discretization;
+ defaults to one bin
+
+ Attributes
+ ----------
+ name : str, optional
+ Name of the multi-group cross section
+ rxn_type : str
+ Reaction type (e.g., 'total', 'nu-fission', etc.)
+ nu : bool
+ If True, the cross section data will include neutron multiplication
+ by_nuclide : bool
+ If true, computes cross sections for each nuclide in domain
+ domain : openmc.Material or openmc.Cell or openmc.Universe or openmc.RegularMesh
+ Domain for spatial homogenization
+ domain_type : {'material', 'cell', 'distribcell', 'universe', 'mesh'}
+ Domain type for spatial homogenization
+ energy_groups : openmc.mgxs.EnergyGroups
+ Energy group structure for energy condensation
+ num_polar : Integral
+ Number of equi-width polar angle bins for angle discretization
+ num_azimuthal : Integral
+ Number of equi-width azimuthal angle bins for angle discretization
+ tally_trigger : openmc.Trigger
+ An (optional) tally precision trigger given to each tally used to
+ compute the cross section
+ scores : list of str
+ The scores in each tally used to compute the multi-group cross section
+ filters : list of openmc.Filter
+ The filters in each tally used to compute the multi-group cross section
+ tally_keys : list of str
+ The keys into the tallies dictionary for each tally used to compute
+ the multi-group cross section
+ estimator : 'analog'
+ The tally estimator used to compute the multi-group cross section
+ tallies : collections.OrderedDict
+ OpenMC tallies needed to compute the multi-group cross section. The keys
+ are strings listed in the :attr:`TransportXS.tally_keys` property and
+ values are instances of :class:`openmc.Tally`.
+ rxn_rate_tally : openmc.Tally
+ Derived tally for the reaction rate tally used in the numerator to
+ compute the multi-group cross section. This attribute is None
+ unless the multi-group cross section has been computed.
+ xs_tally : openmc.Tally
+ Derived tally for the multi-group cross section. This attribute
+ is None unless the multi-group cross section has been computed.
+ num_subdomains : int
+ The number of subdomains is unity for 'material', 'cell' and 'universe'
+ domain types. This is equal to the number of cell instances
+ for 'distribcell' domain types (it is equal to unity prior to loading
+ tally data from a statepoint file).
+ num_nuclides : int
+ The number of nuclides for which the multi-group cross section is
+ being tracked. This is unity if the by_nuclide attribute is False.
+ nuclides : Iterable of str or 'sum'
+ The optional user-specified nuclides for which to compute cross
+ sections (e.g., 'U238', 'O16'). If by_nuclide is True but nuclides
+ are not specified by the user, all nuclides in the spatial domain
+ are included. This attribute is 'sum' if by_nuclide is false.
+ sparse : bool
+ Whether or not the MGXS' tallies use SciPy's LIL sparse matrix format
+ for compressed data storage
+ loaded_sp : bool
+ Whether or not a statepoint file has been loaded with tally data
+ derived : bool
+ Whether or not the MGXS is merged from one or more other MGXS
+ hdf5_key : str
+ The key used to index multi-group cross sections in an HDF5 data store
+
+ """
+
+ def __init__(self, domain=None, domain_type=None, groups=None, nu=False,
+ by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
+ super(DiffusionCoefficient, self).__init__(domain, domain_type, groups,
+ nu, by_nuclide, name,
+ num_polar, num_azimuthal)
+ self._rxn_type = 'diffusion-coefficient'
+ cv.check_value('nu for diffusion-coefficient', nu, [False])
+
+ @property
+ def rxn_rate_tally(self):
+ if self._rxn_rate_tally is None:
+ # Switch EnergyoutFilter to EnergyFilter
+ p1_tally = self.tallies['scatter-1']
+ old_filt = p1_tally.filters[-2]
+ new_filt = openmc.EnergyFilter(old_filt.values)
+ p1_tally.filters[-2] = new_filt
+
+ # Slice Legendre expansion filter and change name of score
+ p1_tally = p1_tally.get_slice(filters=[openmc.LegendreFilter],
+ filter_bins=[('P1',)],
+ squeeze=True)
+ p1_tally._scores = ['scatter-1']
+
+ # Compute total cross section
+ total_xs = self.tallies['total'] / self.tallies['flux (tracklength)']
+
+ # Compute transport correction term
+ trans_corr = self.tallies['scatter-1'] / self.tallies['flux (analog)']
+
+ # Compute the diffusion coefficient
+ transport = total_xs - trans_corr
+ dif_coef = transport**(-1) / 3.0
+
+ self._rxn_rate_tally = dif_coef * self.tallies['flux (tracklength)']
+ self._rxn_rate_tally.sparse = self.sparse
+
+ return self._rxn_rate_tally
+
+ @property
+ def xs_tally(self):
+ if self._xs_tally is None:
+ if self.tallies is None:
+ msg = 'Unable to get xs_tally since tallies have ' \
+ 'not been loaded from a statepoint'
+ raise ValueError(msg)
+
+ self._xs_tally = self.rxn_rate_tally / self.tallies['flux (tracklength)']
+ self._compute_xs()
+
+ return self._xs_tally
+
+ def get_condensed_xs(self, coarse_groups, condense_dif_coef=True):
+ """Construct an energy-condensed version of this cross section.
+ Parameters
+ ----------
+ coarse_groups : openmc.mgxs.EnergyGroups
+ The coarse energy group structure of interest
+ Returns
+ -------
+ MGXS
+ A new MGXS condensed to the group structure of interest
+ """
+
+ cv.check_type('coarse_groups', coarse_groups, EnergyGroups)
+ cv.check_less_than('coarse groups', coarse_groups.num_groups,
+ self.num_groups, equality=True)
+ cv.check_value('upper coarse energy', coarse_groups.group_edges[-1],
+ [self.energy_groups.group_edges[-1]])
+ cv.check_value('lower coarse energy', coarse_groups.group_edges[0],
+ [self.energy_groups.group_edges[0]])
+
+ # Clone this MGXS to initialize the condensed version
+ condensed_xs = copy.deepcopy(self)
+
+ if condense_dif_coef:
+ if self._rxn_rate_tally is None:
+
+ p1_tally = self.tallies['scatter-1']
+ old_filt = p1_tally.filters[-2]
+ new_filt = openmc.EnergyFilter(old_filt.values)
+ p1_tally.filters[-2] = new_filt
+
+ # Slice Legendre expansion filter and change name of score
+ p1_tally = p1_tally.get_slice(filters=[openmc.LegendreFilter],
+ filter_bins=[('P1',)],
+ squeeze=True)
+ p1_tally._scores = ['scatter-1']
+
+ total = self.tallies['total'] / self.tallies['flux (tracklength)']
+ trans_corr = p1_tally / self.tallies['flux (analog)']
+ transport = (total - trans_corr)
+ dif_coef = transport**(-1) / 3.0
+ dif_coef *= self.tallies['flux (tracklength)']
+ flux_tally = condensed_xs.tallies['flux (tracklength)']
+ condensed_xs._tallies = OrderedDict()
+ condensed_xs._tallies[self._rxn_type] = dif_coef
+ condensed_xs._tallies['flux (tracklength)'] = flux_tally
+ condensed_xs._rxn_rate_tally = dif_coef
+ condensed_xs._xs_tally = None
+ condensed_xs._sparse = False
+ condensed_xs._energy_groups = coarse_groups
+
+ else:
+ condensed_xs._rxn_rate_tally = None
+ condensed_xs._xs_tally = None
+ condensed_xs._sparse = False
+ condensed_xs._energy_groups = coarse_groups
+
+ # Build energy indices to sum across
+ energy_indices = []
+ for group in range(coarse_groups.num_groups, 0, -1):
+ low, high = coarse_groups.get_group_bounds(group)
+ low_index = np.where(self.energy_groups.group_edges == low)[0][0]
+ energy_indices.append(low_index)
+
+ fine_edges = self.energy_groups.group_edges
+
+ # Condense each of the tallies to the coarse group structure
+ for tally in condensed_xs.tallies.values():
+
+ # Make condensed tally derived and null out sum, sum_sq
+ tally._derived = True
+ tally._sum = None
+ tally._sum_sq = None
+
+ # Get tally data arrays reshaped with one dimension per filter
+ mean = tally.get_reshaped_data(value='mean')
+ std_dev = tally.get_reshaped_data(value='std_dev')
+
+ # Sum across all applicable fine energy group filters
+ for i, tally_filter in enumerate(tally.filters):
+ if not isinstance(tally_filter,
+ (openmc.EnergyFilter,
+ openmc.EnergyoutFilter)):
+ continue
+ elif len(tally_filter.bins) != len(fine_edges):
+ continue
+ elif not np.allclose(tally_filter.bins, fine_edges):
+ continue
+ else:
+ tally_filter.bins = coarse_groups.group_edges
+ mean = np.add.reduceat(mean, energy_indices, axis=i)
+ std_dev = np.add.reduceat(std_dev**2, energy_indices,
+ axis=i)
+ std_dev = np.sqrt(std_dev)
+
+ # Reshape condensed data arrays with one dimension for all filters
+ mean = np.reshape(mean, tally.shape)
+ std_dev = np.reshape(std_dev, tally.shape)
+
+ # Override tally's data with the new condensed data
+ tally._mean = mean
+ tally._std_dev = std_dev
+
+ # Compute the energy condensed multi-group cross section
+ condensed_xs.sparse = self.sparse
+ return condensed_xs
+
+
class AbsorptionXS(MGXS):
r"""An absorption multi-group cross section.
diff --git a/tests/regression_tests/mgxs_library_condense/inputs_true.dat b/tests/regression_tests/mgxs_library_condense/inputs_true.dat
index b5b017562..8d363f092 100644
--- a/tests/regression_tests/mgxs_library_condense/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_condense/inputs_true.dat
@@ -76,7 +76,7 @@
1
-
+
1 2 3 4 5 6
@@ -398,55 +398,79 @@
tracklength
- 1 69 2
+ 1 2
total
- delayed-nu-fission
+ total
tracklength
- 1 69 52
- total
- delayed-nu-fission
- analog
-
-
- 1 69 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 69 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 69
- total
- delayed-nu-fission
- tracklength
-
-
- 1 69
- total
- decay-rate
- tracklength
-
-
1 2
total
flux
analog
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 73 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73 52
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 73 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
- 1 69 2 5
+ 1 73 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73
+ total
+ decay-rate
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 73 2 5
total
delayed-nu-fission
analog
diff --git a/tests/regression_tests/mgxs_library_condense/results_true.dat b/tests/regression_tests/mgxs_library_condense/results_true.dat
index 960d8d106..4bc75b471 100644
--- a/tests/regression_tests/mgxs_library_condense/results_true.dat
+++ b/tests/regression_tests/mgxs_library_condense/results_true.dat
@@ -212,6 +212,16 @@
30 2 2 y-max out 1 total 0.000 0.000000
29 2 2 y-min in 1 total 4.424 0.145141
28 2 2 y-min out 1 total 4.422 0.100270
+ mesh 1 group in nuclide mean std. dev.
+ x y z
+1 1 1 1 0 total 1.074807 0.098944
+0 1 1 1 1 total 0.303789 0.059060
+5 1 2 1 0 total 1.085284 0.132314
+4 1 2 1 1 total 0.299594 0.054735
+3 2 1 1 0 total 1.056682 0.124372
+2 2 1 1 1 total 0.282075 0.053614
+7 2 2 1 0 total 1.070487 0.130335
+6 2 2 1 1 total 0.301100 0.036907
mesh 1 delayedgroup group in nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.000006 3.337014e-07
diff --git a/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat b/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat
index be745eaa6..21ed9dc6e 100644
--- a/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat
@@ -92,7 +92,7 @@
3
-
+
1 2 3 4 5 6
@@ -408,55 +408,79 @@
tracklength
- 1 65 2
+ 1 2
total
- delayed-nu-fission
+ total
tracklength
- 1 65 2
- total
- delayed-nu-fission
- analog
-
-
- 1 65 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 65 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 65
- total
- delayed-nu-fission
- tracklength
-
-
- 1 65
- total
- decay-rate
- tracklength
-
-
1 2
total
flux
analog
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 69 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 69 2
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 69 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
- 1 65 2 5
+ 1 69 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 69
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 69
+ total
+ decay-rate
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 69 2 5
total
delayed-nu-fission
analog
diff --git a/tests/regression_tests/mgxs_library_distribcell/results_true.dat b/tests/regression_tests/mgxs_library_distribcell/results_true.dat
index 511133559..32999c140 100644
--- a/tests/regression_tests/mgxs_library_distribcell/results_true.dat
+++ b/tests/regression_tests/mgxs_library_distribcell/results_true.dat
@@ -54,6 +54,9 @@
0 ((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...),) 1 total 0.091725 0.003604
sum(distribcell) group in group out nuclide mean std. dev.
0 ((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...),) 1 1 total 0.093985 0.005872
+ sum(distribcell) group in legendre nuclide mean std. dev.
+0 ((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...),) 1 P0 total 4.738644 1.194596
+0 ((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...),) 1 P1 total 0.812664 0.028822
sum(distribcell) delayedgroup group in nuclide mean std. dev.
0 ((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...),) 1 1 total 0.000021 8.253906e-07
1 ((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, ...),) 2 1 total 0.000112 4.284000e-06
diff --git a/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat b/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat
index b5b017562..8d363f092 100644
--- a/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat
@@ -76,7 +76,7 @@
1
-
+
1 2 3 4 5 6
@@ -398,55 +398,79 @@
tracklength
- 1 69 2
+ 1 2
total
- delayed-nu-fission
+ total
tracklength
- 1 69 52
- total
- delayed-nu-fission
- analog
-
-
- 1 69 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 69 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 69
- total
- delayed-nu-fission
- tracklength
-
-
- 1 69
- total
- decay-rate
- tracklength
-
-
1 2
total
flux
analog
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 73 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73 52
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 73 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
- 1 69 2 5
+ 1 73 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73
+ total
+ decay-rate
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 73 2 5
total
delayed-nu-fission
analog
diff --git a/tests/regression_tests/mgxs_library_hdf5/results_true.dat b/tests/regression_tests/mgxs_library_hdf5/results_true.dat
index e005236c5..b8d731703 100644
--- a/tests/regression_tests/mgxs_library_hdf5/results_true.dat
+++ b/tests/regression_tests/mgxs_library_hdf5/results_true.dat
@@ -143,6 +143,11 @@ domain=1 type=current
8.87693641e-02 1.39089899e-01 0.00000000e+00 0.00000000e+00]
[2.54950976e-02 2.35372046e-02 0.00000000e+00 0.00000000e+00
4.66261729e-02 4.14728827e-02 0.00000000e+00 0.00000000e+00]]]
+domain=1 type=diffusion-coefficient
+[[3.03788848e-01 -2.11056360e+01]
+ [1.07480743e+00 1.14272636e+01]]
+[[5.90602575e-02 3.45906931e+02]
+ [9.89437598e-02 1.55214591e+01]]
domain=1 type=delayed-nu-fission
[[1.36657452e-06 3.02943589e-05]
[8.57921019e-06 1.56370222e-04]
diff --git a/tests/regression_tests/mgxs_library_mesh/inputs_true.dat b/tests/regression_tests/mgxs_library_mesh/inputs_true.dat
index 25ef3b0d0..ecababf1a 100644
--- a/tests/regression_tests/mgxs_library_mesh/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_mesh/inputs_true.dat
@@ -56,7 +56,7 @@
1
-
+
1 2 3 4 5 6
@@ -378,55 +378,79 @@
tracklength
- 1 69 2
+ 1 2
total
- delayed-nu-fission
+ total
tracklength
- 1 69 2
- total
- delayed-nu-fission
- analog
-
-
- 1 69 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 69 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 69
- total
- delayed-nu-fission
- tracklength
-
-
- 1 69
- total
- decay-rate
- tracklength
-
-
1 2
total
flux
analog
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 73 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73 2
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 73 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
- 1 69 2 5
+ 1 73 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 73
+ total
+ decay-rate
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 73 2 5
total
delayed-nu-fission
analog
diff --git a/tests/regression_tests/mgxs_library_mesh/results_true.dat b/tests/regression_tests/mgxs_library_mesh/results_true.dat
index 2c06cecda..22e0af278 100644
--- a/tests/regression_tests/mgxs_library_mesh/results_true.dat
+++ b/tests/regression_tests/mgxs_library_mesh/results_true.dat
@@ -212,6 +212,16 @@
30 2 2 y-max out 1 total 0.0236 0.023600
29 2 2 y-min in 1 total 0.2290 0.038756
28 2 2 y-min out 1 total 0.1894 0.012331
+ mesh 1 group in legendre nuclide mean std. dev.
+ x y z
+0 1 1 1 1 P0 total 18.826004 9.086028
+1 1 1 1 1 P1 total 4.240720 0.415899
+4 1 2 1 1 P0 total 22.554520 9.362451
+5 1 2 1 1 P1 total 4.388867 0.232409
+2 2 1 1 1 P0 total 26.557883 14.659354
+3 2 1 1 1 P1 total 4.473154 0.305332
+6 2 2 1 1 P0 total 30.771010 11.932125
+7 2 2 1 1 P1 total 4.590355 0.194749
mesh 1 delayedgroup group in nuclide mean std. dev.
x y z
0 1 1 1 1 1 total 0.000007 4.734745e-07
diff --git a/tests/regression_tests/mgxs_library_no_nuclides/inputs_true.dat b/tests/regression_tests/mgxs_library_no_nuclides/inputs_true.dat
index 40f31d563..22703101a 100644
--- a/tests/regression_tests/mgxs_library_no_nuclides/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_no_nuclides/inputs_true.dat
@@ -68,13 +68,13 @@
0.0 20000000.0
-
+
1 2 3 4 5 6
-
+
2
-
+
3
@@ -390,787 +390,859 @@
tracklength
- 1 65 2
+ 1 2
total
- delayed-nu-fission
+ total
tracklength
- 1 65 52
+ 1 2
total
- delayed-nu-fission
+ flux
analog
- 1 65 5
+ 1 5 6
total
- delayed-nu-fission
+ scatter
analog
1 2
total
- nu-fission
+ flux
tracklength
- 1 65 2
+ 1 69 2
total
delayed-nu-fission
tracklength
- 1 65
+ 1 69 52
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 69 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
+
+ 1 69 2
total
delayed-nu-fission
tracklength
-
- 1 65
+
+ 1 69
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 69
total
decay-rate
tracklength
-
+
1 2
total
flux
analog
-
- 1 65 2 5
+
+ 1 69 2 5
total
delayed-nu-fission
analog
-
- 79 2
- total
- flux
- tracklength
-
-
- 79 2
- total
- total
- tracklength
-
-
- 79 2
- total
- flux
- tracklength
-
-
- 79 2
- total
- total
- tracklength
-
- 79 2
+ 83 2
total
flux
- analog
+ tracklength
- 79 5 6
+ 83 2
total
- scatter
- analog
+ total
+ tracklength
- 79 2
+ 83 2
total
flux
tracklength
- 79 2
+ 83 2
total
total
tracklength
- 79 2
+ 83 2
total
flux
analog
- 79 5 6
+ 83 5 6
total
- nu-scatter
+ scatter
analog
- 79 2
+ 83 2
total
flux
tracklength
- 79 2
+ 83 2
total
- absorption
+ total
tracklength
- 79 2
+ 83 2
+ total
+ flux
+ analog
+
+
+ 83 5 6
+ total
+ nu-scatter
+ analog
+
+
+ 83 2
total
flux
tracklength
-
- 79 2
+
+ 83 2
total
absorption
tracklength
-
- 79 2
- total
- fission
- tracklength
-
-
- 79 2
+
+ 83 2
total
flux
tracklength
-
- 79 2
- total
- fission
- tracklength
-
- 79 2
+ 83 2
total
- flux
+ absorption
tracklength
- 79 2
+ 83 2
total
- nu-fission
+ fission
tracklength
- 79 2
+ 83 2
total
flux
tracklength
- 79 2
+ 83 2
total
- kappa-fission
+ fission
tracklength
- 79 2
+ 83 2
total
flux
tracklength
- 79 2
+ 83 2
+ total
+ nu-fission
+ tracklength
+
+
+ 83 2
+ total
+ flux
+ tracklength
+
+
+ 83 2
+ total
+ kappa-fission
+ tracklength
+
+
+ 83 2
+ total
+ flux
+ tracklength
+
+
+ 83 2
total
scatter
tracklength
-
- 79 2
- total
- flux
- analog
-
-
- 79 2
- total
- nu-scatter
- analog
-
-
- 79 2
- total
- flux
- analog
-
-
- 79 2 5 28
- total
- scatter
- analog
-
- 79 2
+ 83 2
total
flux
analog
- 79 2 5 28
+ 83 2
total
nu-scatter
analog
- 79 2 5
+ 83 2
total
- nu-scatter
+ flux
analog
- 79 2 5
+ 83 2 5 28
total
scatter
analog
- 79 2
+ 83 2
total
flux
analog
- 79 2 5
- total
- nu-fission
- analog
-
-
- 79 2 5
- total
- scatter
- analog
-
-
- 79 2
- total
- flux
- tracklength
-
-
- 79 2
- total
- scatter
- tracklength
-
-
- 79 2 5 28
- total
- scatter
- analog
-
-
- 79 2
- total
- flux
- tracklength
-
-
- 79 2
- total
- scatter
- tracklength
-
-
- 79 2 5 28
- total
- scatter
- analog
-
-
- 79 2 5
+ 83 2 5 28
total
nu-scatter
analog
-
- 79 52
+
+ 83 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 83 2 5
+ total
+ scatter
+ analog
+
+
+ 83 2
+ total
+ flux
+ analog
+
+
+ 83 2 5
total
nu-fission
analog
-
- 79 5
+
+ 83 2 5
total
- nu-fission
+ scatter
analog
-
- 79 52
- total
- prompt-nu-fission
- analog
-
-
- 79 5
- total
- prompt-nu-fission
- analog
-
-
- 79 2
+
+ 83 2
total
flux
tracklength
+
+ 83 2
+ total
+ scatter
+ tracklength
+
+
+ 83 2 5 28
+ total
+ scatter
+ analog
+
+
+ 83 2
+ total
+ flux
+ tracklength
+
+
+ 83 2
+ total
+ scatter
+ tracklength
+
+
+ 83 2 5 28
+ total
+ scatter
+ analog
+
+
+ 83 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 83 52
+ total
+ nu-fission
+ analog
+
- 79 2
+ 83 5
+ total
+ nu-fission
+ analog
+
+
+ 83 52
+ total
+ prompt-nu-fission
+ analog
+
+
+ 83 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 83 2
+ total
+ flux
+ tracklength
+
+
+ 83 2
total
inverse-velocity
tracklength
-
- 79 2
- total
- flux
- tracklength
-
-
- 79 2
- total
- prompt-nu-fission
- tracklength
-
-
- 79 2
- total
- flux
- analog
-
-
- 79 2 5
- total
- prompt-nu-fission
- analog
-
- 79 2
+ 83 2
total
flux
tracklength
- 79 65 2
+ 83 2
total
- delayed-nu-fission
+ prompt-nu-fission
tracklength
- 79 65 52
+ 83 2
total
- delayed-nu-fission
+ flux
analog
- 79 65 5
+ 83 2 5
total
- delayed-nu-fission
+ prompt-nu-fission
analog
- 79 2
+ 83 2
total
- nu-fission
+ flux
tracklength
- 79 65 2
+ 83 2
total
- delayed-nu-fission
+ total
tracklength
- 79 65
+ 83 2
total
- delayed-nu-fission
- tracklength
+ flux
+ analog
- 79 65
- total
- decay-rate
- tracklength
-
-
- 79 2
- total
- flux
- analog
-
-
- 79 65 2 5
- total
- delayed-nu-fission
- analog
-
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 2
- total
- total
- tracklength
-
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 2
- total
- total
- tracklength
-
-
- 157 2
- total
- flux
- analog
-
-
- 157 5 6
+ 83 5 6
total
scatter
analog
-
- 157 2
+
+ 83 2
total
flux
tracklength
+
+ 83 69 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 83 69 52
+ total
+ delayed-nu-fission
+ analog
+
+
+ 83 69 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 83 2
+ total
+ nu-fission
+ tracklength
+
+
+ 83 69 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 83 69
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 83 69
+ total
+ decay-rate
+ tracklength
+
+
+ 83 2
+ total
+ flux
+ analog
+
- 157 2
+ 83 69 2 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 2
total
total
tracklength
-
- 157 2
- total
- flux
- analog
-
-
- 157 5 6
- total
- nu-scatter
- analog
-
- 157 2
+ 165 2
total
flux
tracklength
- 157 2
+ 165 2
total
- absorption
+ total
tracklength
- 157 2
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 5 6
+ total
+ scatter
+ analog
+
+
+ 165 2
total
flux
tracklength
-
- 157 2
+
+ 165 2
+ total
+ total
+ tracklength
+
+
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 5 6
+ total
+ nu-scatter
+ analog
+
+
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 2
total
absorption
tracklength
-
- 157 2
- total
- fission
- tracklength
-
-
- 157 2
+
+ 165 2
total
flux
tracklength
-
- 157 2
+
+ 165 2
+ total
+ absorption
+ tracklength
+
+
+ 165 2
total
fission
tracklength
-
- 157 2
+
+ 165 2
total
flux
tracklength
-
- 157 2
+
+ 165 2
+ total
+ fission
+ tracklength
+
+
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 2
total
nu-fission
tracklength
-
- 157 2
+
+ 165 2
total
flux
tracklength
-
- 157 2
+
+ 165 2
total
kappa-fission
tracklength
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 2
- total
- scatter
- tracklength
-
-
- 157 2
- total
- flux
- analog
-
-
- 157 2
- total
- nu-scatter
- analog
-
-
- 157 2
- total
- flux
- analog
-
-
- 157 2 5 28
- total
- scatter
- analog
-
-
- 157 2
- total
- flux
- analog
-
-
- 157 2 5 28
- total
- nu-scatter
- analog
-
- 157 2 5
+ 165 2
total
- nu-scatter
- analog
+ flux
+ tracklength
- 157 2 5
+ 165 2
total
scatter
- analog
+ tracklength
- 157 2
+ 165 2
total
flux
analog
- 157 2 5
- total
- nu-fission
- analog
-
-
- 157 2 5
- total
- scatter
- analog
-
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 2
- total
- scatter
- tracklength
-
-
- 157 2 5 28
- total
- scatter
- analog
-
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 2
- total
- scatter
- tracklength
-
-
- 157 2 5 28
- total
- scatter
- analog
-
-
- 157 2 5
+ 165 2
total
nu-scatter
analog
-
- 157 52
+
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 2 5 28
+ total
+ scatter
+ analog
+
+
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 2 5 28
+ total
+ nu-scatter
+ analog
+
+
+ 165 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 165 2 5
+ total
+ scatter
+ analog
+
+
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 2 5
total
nu-fission
analog
+
+ 165 2 5
+ total
+ scatter
+ analog
+
- 157 5
+ 165 2
total
- nu-fission
- analog
+ flux
+ tracklength
- 157 52
+ 165 2
total
- prompt-nu-fission
- analog
+ scatter
+ tracklength
- 157 5
+ 165 2 5 28
total
- prompt-nu-fission
+ scatter
analog
- 157 2
+ 165 2
total
flux
tracklength
- 157 2
+ 165 2
+ total
+ scatter
+ tracklength
+
+
+ 165 2 5 28
+ total
+ scatter
+ analog
+
+
+ 165 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 165 52
+ total
+ nu-fission
+ analog
+
+
+ 165 5
+ total
+ nu-fission
+ analog
+
+
+ 165 52
+ total
+ prompt-nu-fission
+ analog
+
+
+ 165 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 2
total
inverse-velocity
tracklength
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 2
- total
- prompt-nu-fission
- tracklength
-
-
- 157 2
- total
- flux
- analog
-
-
- 157 2 5
- total
- prompt-nu-fission
- analog
-
-
- 157 2
- total
- flux
- tracklength
-
-
- 157 65 2
- total
- delayed-nu-fission
- tracklength
-
-
- 157 65 52
- total
- delayed-nu-fission
- analog
-
-
- 157 65 5
- total
- delayed-nu-fission
- analog
-
- 157 2
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 2
+ total
+ prompt-nu-fission
+ tracklength
+
+
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 2 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 2
+ total
+ total
+ tracklength
+
+
+ 165 2
+ total
+ flux
+ analog
+
+
+ 165 5 6
+ total
+ scatter
+ analog
+
+
+ 165 2
+ total
+ flux
+ tracklength
+
+
+ 165 69 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 165 69 52
+ total
+ delayed-nu-fission
+ analog
+
+
+ 165 69 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 165 2
total
nu-fission
tracklength
-
- 157 65 2
+
+ 165 69 2
total
delayed-nu-fission
tracklength
-
- 157 65
+
+ 165 69
total
delayed-nu-fission
tracklength
-
- 157 65
+
+ 165 69
total
decay-rate
tracklength
-
- 157 2
+
+ 165 2
total
flux
analog
-
- 157 65 2 5
+
+ 165 69 2 5
total
delayed-nu-fission
analog
diff --git a/tests/regression_tests/mgxs_library_no_nuclides/results_true.dat b/tests/regression_tests/mgxs_library_no_nuclides/results_true.dat
index 279a66990..b38f74ed9 100644
--- a/tests/regression_tests/mgxs_library_no_nuclides/results_true.dat
+++ b/tests/regression_tests/mgxs_library_no_nuclides/results_true.dat
@@ -128,6 +128,11 @@
2 1 1 2 total 0.000000 0.000000
1 1 2 1 total 0.445819 0.028675
0 1 2 2 total 0.000000 0.000000
+ material group in legendre nuclide mean std. dev.
+2 1 1 P0 total 10.942878 12.704137
+3 1 1 P1 total 0.918041 0.075837
+0 1 2 P0 total 1.370855 0.292448
+1 1 2 P1 total 0.516916 0.050251
material delayedgroup group in nuclide mean std. dev.
1 1 1 1 total 0.000004 2.897486e-07
3 1 2 1 total 0.000027 1.850037e-06
@@ -329,6 +334,11 @@
2 2 1 2 total 0.0 0.0
1 2 2 1 total 0.0 0.0
0 2 2 2 total 0.0 0.0
+ material group in legendre nuclide mean std. dev.
+2 2 1 P0 total 92.158584 948.055013
+3 2 1 P1 total 1.209886 0.097583
+0 2 2 P0 total 73.145434 834.775399
+1 2 2 P1 total 1.068256 0.148711
material delayedgroup group in nuclide mean std. dev.
1 2 1 1 total 0.0 0.0
3 2 2 1 total 0.0 0.0
@@ -530,6 +540,11 @@
2 3 1 2 total 0.0 0.0
1 3 2 1 total 0.0 0.0
0 3 2 2 total 0.0 0.0
+ material group in legendre nuclide mean std. dev.
+2 3 1 P0 total 13.561252 21.988396
+3 3 1 P1 total 1.176515 0.154807
+0 3 2 P0 total -2.459765 6.393743
+1 3 2 P1 total 0.222261 0.040518
material delayedgroup group in nuclide mean std. dev.
1 3 1 1 total 0.0 0.0
3 3 2 1 total 0.0 0.0
diff --git a/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat b/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat
index f859d5f3a..1fb64c785 100644
--- a/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat
@@ -68,10 +68,10 @@
0.0 20000000.0
-
+
2
-
+
3
@@ -381,615 +381,687 @@
analog
- 63 2
+ 1 2
total
flux
tracklength
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
+ 1 2
+ U234 U235 U238 O16
total
tracklength
- 63 2
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 5 6
+ U234 U235 U238 O16
+ scatter
+ analog
+
+
+ 67 2
total
flux
tracklength
-
- 63 2
+
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
total
tracklength
-
- 63 2
- total
- flux
- analog
-
-
- 63 5 6
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
- 63 2
+ 67 2
total
flux
tracklength
- 63 2
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
total
tracklength
- 63 2
+ 67 2
total
flux
analog
- 63 5 6
+ 67 5 6
Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
+ scatter
analog
- 63 2
+ 67 2
total
flux
tracklength
- 63 2
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
- absorption
+ total
tracklength
- 63 2
+ 67 2
+ total
+ flux
+ analog
+
+
+ 67 5 6
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-scatter
+ analog
+
+
+ 67 2
total
flux
tracklength
-
- 63 2
+
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
absorption
tracklength
-
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- fission
- tracklength
-
-
- 63 2
+
+ 67 2
total
flux
tracklength
-
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- fission
- tracklength
-
- 63 2
- total
- flux
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ absorption
tracklength
- 63 2
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
- nu-fission
+ fission
tracklength
- 63 2
+ 67 2
total
flux
tracklength
- 63 2
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
- kappa-fission
+ fission
tracklength
- 63 2
+ 67 2
total
flux
tracklength
- 63 2
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-fission
+ tracklength
+
+
+ 67 2
+ total
+ flux
+ tracklength
+
+
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ kappa-fission
+ tracklength
+
+
+ 67 2
+ total
+ flux
+ tracklength
+
+
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
scatter
tracklength
-
- 63 2
- total
- flux
- analog
-
-
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
- analog
-
-
- 63 2
- total
- flux
- analog
-
-
- 63 2 5 28
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
- 63 2
+ 67 2
total
flux
analog
- 63 2 5 28
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
nu-scatter
analog
- 63 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
+ 67 2
+ total
+ flux
analog
- 63 2 5
+ 67 2 5 28
Zr90 Zr91 Zr92 Zr94 Zr96
scatter
analog
- 63 2
+ 67 2
total
flux
analog
- 63 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-fission
- analog
-
-
- 63 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
-
- 63 2
- total
- flux
- tracklength
-
-
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- tracklength
-
-
- 63 2 5 28
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
-
- 63 2
- total
- flux
- tracklength
-
-
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- tracklength
-
-
- 63 2 5 28
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
-
- 63 2 5
+ 67 2 5 28
Zr90 Zr91 Zr92 Zr94 Zr96
nu-scatter
analog
-
- 63 52
+
+ 67 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-scatter
+ analog
+
+
+ 67 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ analog
+
+
+ 67 2
+ total
+ flux
+ analog
+
+
+ 67 2 5
Zr90 Zr91 Zr92 Zr94 Zr96
nu-fission
analog
-
- 63 5
+
+ 67 2 5
Zr90 Zr91 Zr92 Zr94 Zr96
- nu-fission
+ scatter
analog
-
- 63 52
- Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
- analog
-
-
- 63 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
- analog
-
-
- 63 2
+
+ 67 2
total
flux
tracklength
+
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ tracklength
+
+
+ 67 2 5 28
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ analog
+
+
+ 67 2
+ total
+ flux
+ tracklength
+
+
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ tracklength
+
+
+ 67 2 5 28
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ analog
+
+
+ 67 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-scatter
+ analog
+
+
+ 67 52
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-fission
+ analog
+
- 63 2
+ 67 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-fission
+ analog
+
+
+ 67 52
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ prompt-nu-fission
+ analog
+
+
+ 67 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ prompt-nu-fission
+ analog
+
+
+ 67 2
+ total
+ flux
+ tracklength
+
+
+ 67 2
Zr90 Zr91 Zr92 Zr94 Zr96
inverse-velocity
tracklength
-
- 63 2
- total
- flux
- tracklength
-
-
- 63 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
- tracklength
-
-
- 63 2
- total
- flux
- analog
-
-
- 63 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
- analog
-
- 125 2
+ 67 2
total
flux
tracklength
- 125 2
- H1 O16 B10 B11
- total
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ prompt-nu-fission
tracklength
- 125 2
- total
- flux
- tracklength
-
-
- 125 2
- H1 O16 B10 B11
- total
- tracklength
-
-
- 125 2
+ 67 2
total
flux
analog
+
+ 67 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ prompt-nu-fission
+ analog
+
+
+ 67 2
+ total
+ flux
+ tracklength
+
- 125 5 6
- H1 O16 B10 B11
+ 67 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ total
+ tracklength
+
+
+ 67 2
+ total
+ flux
+ analog
+
+
+ 67 5 6
+ Zr90 Zr91 Zr92 Zr94 Zr96
scatter
analog
-
- 125 2
+
+ 133 2
total
flux
tracklength
-
- 125 2
+
+ 133 2
H1 O16 B10 B11
total
tracklength
-
- 125 2
- total
- flux
- analog
-
-
- 125 5 6
- H1 O16 B10 B11
- nu-scatter
- analog
-
- 125 2
+ 133 2
total
flux
tracklength
- 125 2
+ 133 2
H1 O16 B10 B11
- absorption
+ total
tracklength
- 125 2
+ 133 2
+ total
+ flux
+ analog
+
+
+ 133 5 6
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 133 2
total
flux
tracklength
-
- 125 2
+
+ 133 2
+ H1 O16 B10 B11
+ total
+ tracklength
+
+
+ 133 2
+ total
+ flux
+ analog
+
+
+ 133 5 6
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 133 2
+ total
+ flux
+ tracklength
+
+
+ 133 2
H1 O16 B10 B11
absorption
tracklength
-
- 125 2
- H1 O16 B10 B11
- fission
- tracklength
-
-
- 125 2
+
+ 133 2
total
flux
tracklength
-
- 125 2
+
+ 133 2
+ H1 O16 B10 B11
+ absorption
+ tracklength
+
+
+ 133 2
H1 O16 B10 B11
fission
tracklength
-
- 125 2
+
+ 133 2
total
flux
tracklength
-
- 125 2
+
+ 133 2
+ H1 O16 B10 B11
+ fission
+ tracklength
+
+
+ 133 2
+ total
+ flux
+ tracklength
+
+
+ 133 2
H1 O16 B10 B11
nu-fission
tracklength
-
- 125 2
+
+ 133 2
total
flux
tracklength
-
- 125 2
+
+ 133 2
H1 O16 B10 B11
kappa-fission
tracklength
-
- 125 2
- total
- flux
- tracklength
-
-
- 125 2
- H1 O16 B10 B11
- scatter
- tracklength
-
-
- 125 2
- total
- flux
- analog
-
-
- 125 2
- H1 O16 B10 B11
- nu-scatter
- analog
-
-
- 125 2
- total
- flux
- analog
-
-
- 125 2 5 28
- H1 O16 B10 B11
- scatter
- analog
-
-
- 125 2
- total
- flux
- analog
-
-
- 125 2 5 28
- H1 O16 B10 B11
- nu-scatter
- analog
-
- 125 2 5
- H1 O16 B10 B11
- nu-scatter
- analog
+ 133 2
+ total
+ flux
+ tracklength
- 125 2 5
+ 133 2
H1 O16 B10 B11
scatter
- analog
+ tracklength
- 125 2
+ 133 2
total
flux
analog
- 125 2 5
- H1 O16 B10 B11
- nu-fission
- analog
-
-
- 125 2 5
- H1 O16 B10 B11
- scatter
- analog
-
-
- 125 2
- total
- flux
- tracklength
-
-
- 125 2
- H1 O16 B10 B11
- scatter
- tracklength
-
-
- 125 2 5 28
- H1 O16 B10 B11
- scatter
- analog
-
-
- 125 2
- total
- flux
- tracklength
-
-
- 125 2
- H1 O16 B10 B11
- scatter
- tracklength
-
-
- 125 2 5 28
- H1 O16 B10 B11
- scatter
- analog
-
-
- 125 2 5
+ 133 2
H1 O16 B10 B11
nu-scatter
analog
-
- 125 52
+
+ 133 2
+ total
+ flux
+ analog
+
+
+ 133 2 5 28
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 133 2
+ total
+ flux
+ analog
+
+
+ 133 2 5 28
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 133 2 5
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 133 2 5
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 133 2
+ total
+ flux
+ analog
+
+
+ 133 2 5
H1 O16 B10 B11
nu-fission
analog
+
+ 133 2 5
+ H1 O16 B10 B11
+ scatter
+ analog
+
- 125 5
- H1 O16 B10 B11
- nu-fission
- analog
+ 133 2
+ total
+ flux
+ tracklength
- 125 52
+ 133 2
H1 O16 B10 B11
- prompt-nu-fission
- analog
+ scatter
+ tracklength
- 125 5
+ 133 2 5 28
H1 O16 B10 B11
- prompt-nu-fission
+ scatter
analog
- 125 2
+ 133 2
total
flux
tracklength
- 125 2
+ 133 2
+ H1 O16 B10 B11
+ scatter
+ tracklength
+
+
+ 133 2 5 28
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 133 2 5
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 133 52
+ H1 O16 B10 B11
+ nu-fission
+ analog
+
+
+ 133 5
+ H1 O16 B10 B11
+ nu-fission
+ analog
+
+
+ 133 52
+ H1 O16 B10 B11
+ prompt-nu-fission
+ analog
+
+
+ 133 5
+ H1 O16 B10 B11
+ prompt-nu-fission
+ analog
+
+
+ 133 2
+ total
+ flux
+ tracklength
+
+
+ 133 2
H1 O16 B10 B11
inverse-velocity
tracklength
-
- 125 2
+
+ 133 2
total
flux
tracklength
-
- 125 2
+
+ 133 2
H1 O16 B10 B11
prompt-nu-fission
tracklength
-
- 125 2
+
+ 133 2
total
flux
analog
-
- 125 2 5
+
+ 133 2 5
H1 O16 B10 B11
prompt-nu-fission
analog
+
+ 133 2
+ total
+ flux
+ tracklength
+
+
+ 133 2
+ H1 O16 B10 B11
+ total
+ tracklength
+
+
+ 133 2
+ total
+ flux
+ analog
+
+
+ 133 5 6
+ H1 O16 B10 B11
+ scatter
+ analog
+
diff --git a/tests/regression_tests/mgxs_library_nuclides/results_true.dat b/tests/regression_tests/mgxs_library_nuclides/results_true.dat
index 27272239c..a3a677178 100644
--- a/tests/regression_tests/mgxs_library_nuclides/results_true.dat
+++ b/tests/regression_tests/mgxs_library_nuclides/results_true.dat
@@ -1 +1 @@
-185e6f1f7ba94b0cdfae5b2519865efec84055d341bd490b856f9786ef1c91a3cb007d6b22811ffa30d4665256aad8a2982548e6c96e8d8d9c5f569475e52cfe
\ No newline at end of file
+be71bd208f38ec578b20eae0f0aa3ecd6e2a6215ea007c78c76e327a143ca942ec813022c6c426af1dff2dcc686efd1636d96993505a8771529d85ecaa96ad95
\ No newline at end of file