diff --git a/docs/source/pythonapi/mgxs.rst b/docs/source/pythonapi/mgxs.rst
index bf5a845992..392914b367 100644
--- a/docs/source/pythonapi/mgxs.rst
+++ b/docs/source/pythonapi/mgxs.rst
@@ -41,6 +41,7 @@ Multi-group Cross Sections
openmc.mgxs.KappaFissionXS
openmc.mgxs.MultiplicityMatrixXS
openmc.mgxs.NuFissionMatrixXS
+ openmc.mgxs.ReducedAbsorptionXS
openmc.mgxs.ScatterXS
openmc.mgxs.ScatterMatrixXS
openmc.mgxs.ScatterProbabilityMatrix
diff --git a/openmc/deplete/microxs.py b/openmc/deplete/microxs.py
index c4094970f9..982d0a55f8 100644
--- a/openmc/deplete/microxs.py
+++ b/openmc/deplete/microxs.py
@@ -76,12 +76,14 @@ class MicroXS(DataFrame):
dilute_initial)
model.materials = diluted_materials
- for rxn in reactions:
- if rxn == 'fission':
- xs[rxn] = FissionXS(domain=reaction_domain, groups=groups, by_nuclide=True)
+ for rx in reactions:
+ if rx == 'fission':
+ xs[rx] = FissionXS(domain=reaction_domain,
+ energy_groups=groups, by_nuclide=True)
else:
- xs[rxn] = ArbitraryXS(rxn, domain=reaction_domain, groups=groups, by_nuclide=True)
- tallies += xs[rxn].tallies.values()
+ xs[rx] = ArbitraryXS(rx, domain=reaction_domain,
+ energy_groups=groups, by_nuclide=True)
+ tallies += xs[rx].tallies.values()
model.tallies = tallies
@@ -90,8 +92,8 @@ class MicroXS(DataFrame):
statepoint_path = model.run(cwd=temp_dir)
with StatePoint(statepoint_path) as sp:
- for rxn in xs:
- xs[rxn].load_from_statepoint(sp)
+ for rx in xs:
+ xs[rx].load_from_statepoint(sp)
# Build the DataFrame
series = {}
diff --git a/openmc/mgxs/mgxs.py b/openmc/mgxs/mgxs.py
index 453c1d099d..f9798c24a4 100644
--- a/openmc/mgxs/mgxs.py
+++ b/openmc/mgxs/mgxs.py
@@ -20,6 +20,7 @@ MGXS_TYPES = (
'transport',
'nu-transport',
'absorption',
+ 'reduced absorption',
'capture',
'fission',
'nu-fission',
@@ -147,6 +148,11 @@ def _df_column_convert_to_bin(df, current_name, new_name, values_to_bin,
df.rename(columns={current_name: new_name}, inplace=True)
+def add_params(cls):
+ cls.__doc__ += cls._params
+ return cls
+
+@add_params
class MGXS:
"""An abstract multi-group cross section for some energy group structure
within some spatial domain.
@@ -157,6 +163,9 @@ class MGXS:
.. note:: Users should instantiate the subclasses of this abstract class.
+ """
+
+ _params = """
Parameters
----------
domain : openmc.Material or openmc.Cell or openmc.Universe or openmc.RegularMesh
@@ -764,6 +773,8 @@ class MGXS:
mgxs = TransportXS(domain, domain_type, energy_groups, nu=True)
elif mgxs_type == 'absorption':
mgxs = AbsorptionXS(domain, domain_type, energy_groups)
+ elif mgxs_type == 'reduced absorption':
+ mgxs = ReducedAbsorptionXS(domain, domain_type, energy_groups)
elif mgxs_type == 'capture':
mgxs = CaptureXS(domain, domain_type, energy_groups)
elif mgxs_type == 'fission':
@@ -816,6 +827,8 @@ class MGXS:
elif mgxs_type in ARBITRARY_MATRIX_TYPES:
mgxs = ArbitraryMatrixXS(mgxs_type, domain, domain_type,
energy_groups)
+ else:
+ raise ValueError(f"Unknown MGXS type: {mgxs_type}")
mgxs.by_nuclide = by_nuclide
mgxs.name = name
@@ -2148,6 +2161,7 @@ class MGXS:
return 'cm^-1' if xs_type == 'macro' else 'barns'
+@add_params
class MatrixMGXS(MGXS):
"""An abstract multi-group cross section for some energy group structure
within some spatial domain. This class is specifically intended for
@@ -2161,92 +2175,6 @@ class MatrixMGXS(MGXS):
.. note:: Users should instantiate the subclasses of this abstract class.
- 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
- energy_groups : openmc.mgxs.EnergyGroups
- The energy group structure for energy condensation
- 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.)
- 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 : {'tracklength', 'collision', '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
- 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) and the number of mesh cells for
- 'mesh' domain types.
- 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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
@property
def _dont_squeeze(self):
@@ -2631,6 +2559,7 @@ class MatrixMGXS(MGXS):
print(string)
+@add_params
class TotalXS(MGXS):
r"""A total multi-group cross section.
@@ -2657,98 +2586,11 @@ class TotalXS(MGXS):
\sigma_t (r, E) \psi (r, E, \Omega)}{\int_{r \in V} dr \int_{4\pi}
d\Omega \int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega)}.
- 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
- 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.)
- 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 : {'tracklength', 'collision', '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:`TotalXS.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = 'total'
@@ -2887,9 +2729,9 @@ class TransportXS(MGXS):
"""
- def __init__(self, domain=None, domain_type=None, groups=None, nu=False,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None, nu=False,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
# Use tracklength estimators for the total MGXS term, and
@@ -3128,9 +2970,9 @@ class DiffusionCoefficient(TransportXS):
"""
- def __init__(self, domain=None, domain_type=None, groups=None, nu=False,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None, nu=False,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super(DiffusionCoefficient, self).__init__(domain, domain_type, groups,
+ super(DiffusionCoefficient, self).__init__(domain, domain_type, energy_groups,
nu, by_nuclide, name,
num_polar, num_azimuthal)
if not nu:
@@ -3194,6 +3036,7 @@ class DiffusionCoefficient(TransportXS):
return self._xs_tally
+@add_params
class AbsorptionXS(MGXS):
r"""An absorption multi-group cross section.
@@ -3224,103 +3067,72 @@ class AbsorptionXS(MGXS):
\sigma_a (r, E) \psi (r, E, \Omega)}{\int_{r \in V} dr \int_{4\pi}
d\Omega \int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega)}.
- 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
- 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.)
- 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 : {'tracklength', 'collision', '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:`AbsorptionXS.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) and the number of mesh cells for
- 'mesh' domain types.
- 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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = 'absorption'
+@add_params
+class ReducedAbsorptionXS(MGXS):
+ r"""A reduced absorption multi-group cross section.
+
+ The reduced absorption reaction rate is defined as the difference between
+ absorption and the production of neutrons due to (n,xn) reactions.
+
+ This class can be used for both OpenMC input generation and tally data
+ post-processing to compute spatially-homogenized and energy-integrated
+ multi-group capture cross sections for multi-group neutronics calculations.
+ At a minimum, one needs to set the :attr:`CaptureXS.energy_groups` and
+ :attr:`CaptureXS.domain` properties. Tallies for the flux and appropriate
+ reaction rates over the specified domain are generated automatically via the
+ :attr:`CaptureXS.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:`CaptureXS.xs_tally` property.
+
+ For a spatial domain :math:`V` and energy group :math:`[E_g,E_{g-1}]`, the
+ reduced absorption cross section is calculated as:
+
+ .. math::
+
+ \frac{\int_{r \in V} dr \int_{4\pi} d\Omega \int_{E_g}^{E_{g-1}} dE \;
+ \left(\sigma_a (r, E) - \sigma_{n,2n}(r,E) - 2\sigma_{n,3n}(r,E) -
+ 3\sigma_{n,4n}(r,E) \right) \psi (r, E, \Omega)}{\int_{r \in V} dr
+ \int_{4\pi} d\Omega \int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega)}.
+
+ """
+
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
+ by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
+ num_polar, num_azimuthal)
+ self._rxn_type = 'reduced absorption'
+
+ @property
+ def scores(self):
+ return ['flux', 'absorption', '(n,2n)', '(n,3n)', '(n,4n)']
+
+ @property
+ def rxn_rate_tally(self):
+ if self._rxn_rate_tally is None:
+ self._rxn_rate_tally = (
+ self.tallies['absorption']
+ - self.tallies['(n,2n)']
+ - 2*self.tallies['(n,3n)']
+ - 3*self.tallies['(n,4n)']
+ )
+ self._rxn_rate_tally.sparse = self.sparse
+ return self._rxn_rate_tally
+
+
+@add_params
class CaptureXS(MGXS):
r"""A capture multi-group cross section.
@@ -3354,98 +3166,11 @@ class CaptureXS(MGXS):
\Omega) \right ]}{\int_{r \in V} dr \int_{4\pi} d\Omega
\int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega)}.
- 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
- 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.)
- 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 : {'tracklength', 'collision', '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:`CaptureXS.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = 'capture'
@@ -3599,10 +3324,10 @@ class FissionXS(MGXS):
"""
- def __init__(self, domain=None, domain_type=None, groups=None, nu=False,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None, nu=False,
prompt=False, by_nuclide=False, name='', num_polar=1,
num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._nu = False
self._prompt = False
@@ -3648,6 +3373,7 @@ class FissionXS(MGXS):
self._rxn_type = 'prompt-nu-fission'
+@add_params
class KappaFissionXS(MGXS):
r"""A recoverable fission energy production rate multi-group cross section.
@@ -3681,98 +3407,11 @@ class KappaFissionXS(MGXS):
\kappa\sigma_f (r, E) \psi (r, E, \Omega)}{\int_{r \in V} dr \int_{4\pi}
d\Omega \int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega)}.
- 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
- 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.)
- 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 : {'tracklength', 'collision', '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:`KappaFissionXS.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = 'kappa-fission'
@@ -3904,10 +3543,10 @@ class ScatterXS(MGXS):
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1,
num_azimuthal=1, nu=False):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self.nu = nu
@@ -3932,6 +3571,7 @@ class ScatterXS(MGXS):
self._valid_estimators = ['analog']
+@add_params
class ArbitraryXS(MGXS):
r"""A multi-group cross section for an arbitrary reaction type.
@@ -3960,105 +3600,17 @@ class ArbitraryXS(MGXS):
where :math:`\sigma_X` is the requested reaction type of interest.
- Parameters
- ----------
- rxn_type : str
- Reaction type (e.g., '(n,2n)', '(n,Xt)', etc.)
- 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
- 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., '(n,2n)', '(n,Xt)', etc.)
- 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 : {'tracklength', 'collision', '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:`TotalXS.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
- def __init__(self, rxn_type, domain=None, domain_type=None, groups=None,
+ def __init__(self, rxn_type, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
cv.check_value("rxn_type", rxn_type, ARBITRARY_VECTOR_TYPES)
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = rxn_type
+@add_params
class ArbitraryMatrixXS(MatrixMGXS):
r"""A multi-group matrix cross section for an arbitrary reaction type.
@@ -4094,103 +3646,13 @@ class ArbitraryMatrixXS(MatrixMGXS):
where :math:`\sigma_X` is the requested reaction type of interest.
- Parameters
- ----------
- rxn_type : str
- Reaction type (e.g., '(n,2n)', '(n,nta)', etc.). Valid names have
- neutrons as a product.
- 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
- 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.)
- 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:`NuFissionMatrixXS.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
- def __init__(self, rxn_type, domain=None, domain_type=None, groups=None,
+ def __init__(self, rxn_type, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1,
num_azimuthal=1):
cv.check_value("rxn_type", rxn_type, ARBITRARY_MATRIX_TYPES)
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = rxn_type.split(" ")[0]
self._estimator = 'analog'
@@ -4391,10 +3853,10 @@ class ScatterMatrixXS(MatrixMGXS):
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1,
num_azimuthal=1, nu=False):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._formulation = 'simple'
self._correction = 'P0'
@@ -5352,6 +4814,7 @@ class ScatterMatrixXS(MatrixMGXS):
print(string)
+@add_params
class MultiplicityMatrixXS(MatrixMGXS):
r"""The scattering multiplicity matrix.
@@ -5392,93 +4855,6 @@ class MultiplicityMatrixXS(MatrixMGXS):
where :math:`\upsilon_i` is the multiplicity for the :math:`i`-th reaction.
- 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
- 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.)
- 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:`MultiplicityMatrixXS.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
# Store whether or not the number density should be removed for microscopic
@@ -5487,9 +4863,9 @@ class MultiplicityMatrixXS(MatrixMGXS):
# for microscopic data
_divide_by_density = False
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = 'multiplicity matrix'
self._estimator = 'analog'
@@ -5530,6 +4906,7 @@ class MultiplicityMatrixXS(MatrixMGXS):
return self._xs_tally
+@add_params
class ScatterProbabilityMatrix(MatrixMGXS):
r"""The group-to-group scattering probability matrix.
@@ -5568,93 +4945,6 @@ class ScatterProbabilityMatrix(MatrixMGXS):
\sigma_{s,g'} \phi \rangle}
\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
- 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.)
- 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:`ScatterProbabilityMatrix.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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
# Store whether or not the number density should be removed for microscopic
@@ -5662,9 +4952,9 @@ class ScatterProbabilityMatrix(MatrixMGXS):
# to 1.0, this density division is not necessary
_divide_by_density = False
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide,
name, num_polar, num_azimuthal)
self._rxn_type = 'scatter'
self._mgxs_type = 'scatter probability matrix'
@@ -5833,10 +5123,10 @@ class NuFissionMatrixXS(MatrixMGXS):
"""
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1,
num_azimuthal=1, prompt=False):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
if not prompt:
self._rxn_type = 'nu-fission'
@@ -5999,10 +5289,10 @@ class Chi(MGXS):
# data should not be divided by the number density
_divide_by_density = False
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
prompt=False, by_nuclide=False, name='', num_polar=1,
num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._estimator = 'analog'
self._valid_estimators = ['analog']
@@ -6401,6 +5691,7 @@ class Chi(MGXS):
return '%'
+@add_params
class InverseVelocity(MGXS):
r"""An inverse velocity multi-group cross section.
@@ -6430,94 +5721,6 @@ class InverseVelocity(MGXS):
\frac{\psi (r, E, \Omega)}{v (r, E)}}{\int_{r \in V} dr \int_{4\pi}
d\Omega \int_{E_g}^{E_{g-1}} dE \; \psi (r, E, \Omega)}
- 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
- 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.)
- 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 : {'tracklength', 'collision', '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:`InverseVelocity.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) and the number of mesh cells for
- 'mesh' domain types.
- 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
- mgxs_type : str
- The name of this MGXS type, to be used when printing and
- indexing in an HDF5 data store
-
- .. versionadded:: 0.13.1
-
"""
# Store whether or not the number density should be removed for microscopic
@@ -6526,9 +5729,9 @@ class InverseVelocity(MGXS):
# values
_divide_by_density = False
- def __init__(self, domain=None, domain_type=None, groups=None,
+ def __init__(self, domain=None, domain_type=None, energy_groups=None,
by_nuclide=False, name='', num_polar=1, num_azimuthal=1):
- super().__init__(domain, domain_type, groups, by_nuclide, name,
+ super().__init__(domain, domain_type, energy_groups, by_nuclide, name,
num_polar, num_azimuthal)
self._rxn_type = 'inverse-velocity'
@@ -7031,7 +6234,7 @@ class Current(MeshSurfaceMGXS):
"""
def __init__(self, domain=None, domain_type=None,
- groups=None, by_nuclide=False, name=''):
+ energy_groups=None, by_nuclide=False, name=''):
super(Current, self).__init__(domain, domain_type,
- groups, by_nuclide, name)
+ energy_groups, by_nuclide, name)
self._rxn_type = 'current'
diff --git a/tests/regression_tests/mgxs_library_condense/inputs_true.dat b/tests/regression_tests/mgxs_library_condense/inputs_true.dat
index 9661cd46be..cac18ffcd2 100644
--- a/tests/regression_tests/mgxs_library_condense/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_condense/inputs_true.dat
@@ -67,16 +67,16 @@
1
-
+
3
-
+
0.0 20000000.0
-
+
1
-
+
1 2 3 4 5 6
@@ -166,19 +166,19 @@
1 2
total
- fission
+ (n,2n)
tracklength
1 2
total
- flux
+ (n,3n)
tracklength
1 2
total
- fission
+ (n,4n)
tracklength
@@ -190,207 +190,207 @@
1 2
total
- nu-fission
+ absorption
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- kappa-fission
+ flux
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- scatter
+ flux
tracklength
1 2
total
- flux
- analog
+ nu-fission
+ tracklength
1 2
total
- nu-scatter
- analog
+ flux
+ tracklength
1 2
total
- flux
- analog
+ kappa-fission
+ tracklength
- 1 2 5 28
+ 1 2
total
- scatter
- analog
+ flux
+ tracklength
+ 1 2
+ total
+ scatter
+ tracklength
+
+
1 2
total
flux
analog
-
- 1 2 5 28
- total
- nu-scatter
- analog
-
- 1 2 5
+ 1 2
total
nu-scatter
analog
- 1 2 5
+ 1 2
total
- scatter
+ flux
analog
- 1 2
+ 1 2 5 30
total
- flux
+ scatter
analog
- 1 2 5
+ 1 2
total
- nu-fission
+ flux
analog
- 1 2 5
+ 1 2 5 30
total
- scatter
+ nu-scatter
analog
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
1 2 5
total
nu-scatter
analog
-
- 1 52
+
+ 1 2 5
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 5
total
nu-fission
analog
-
- 1 5
+
+ 1 2 5
total
- nu-fission
+ scatter
analog
-
- 1 52
- total
- prompt-nu-fission
- analog
-
-
- 1 5
- total
- prompt-nu-fission
- analog
-
-
+
1 2
total
flux
tracklength
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2 5
+ total
+ nu-scatter
+ analog
+
+ 1 54
+ total
+ nu-fission
+ analog
+
+
+ 1 5
+ total
+ nu-fission
+ analog
+
+
+ 1 54
+ total
+ prompt-nu-fission
+ analog
+
+
+ 1 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
1 2
total
inverse-velocity
tracklength
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- prompt-nu-fission
- tracklength
-
-
- 1 2
- total
- flux
- analog
-
-
- 1 2 5
- total
- prompt-nu-fission
- analog
-
-
- 66 2
- total
- current
- analog
-
1 2
total
@@ -400,7 +400,7 @@
1 2
total
- total
+ prompt-nu-fission
tracklength
@@ -410,91 +410,121 @@
analog
- 1 5 6
+ 1 2 5
total
- scatter
+ prompt-nu-fission
analog
- 1 2
+ 68 2
total
- flux
- tracklength
+ current
+ analog
1 2
total
- total
+ flux
tracklength
+ 1 2
+ total
+ total
+ tracklength
+
+
1 2
total
flux
analog
-
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ total
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
1 5 6
total
nu-scatter
analog
-
+
1 2
total
flux
tracklength
-
- 1 77 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 77 52
- total
- delayed-nu-fission
- analog
-
-
- 1 77 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 77 2
- total
- delayed-nu-fission
- tracklength
-
- 1 77
+ 1 79 2
total
delayed-nu-fission
tracklength
- 1 77
+ 1 79 54
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 79 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
+
+ 1 79 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 79
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 79
total
decay-rate
tracklength
-
+
1 2
total
flux
analog
-
- 1 77 2 5
+
+ 1 79 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 508984e54f..e0b47a78b5 100644
--- a/tests/regression_tests/mgxs_library_condense/results_true.dat
+++ b/tests/regression_tests/mgxs_library_condense/results_true.dat
@@ -24,6 +24,12 @@
3 2 2 1 1 total 0.022046 0.001594
mesh 1 group in nuclide mean std. dev.
x y z
+0 1 1 1 1 total 0.021489 0.001396
+2 1 2 1 1 total 0.020837 0.001436
+1 2 1 1 1 total 0.021454 0.001983
+3 2 2 1 1 total 0.022036 0.001594
+ mesh 1 group in nuclide mean std. dev.
+ x y z
0 1 1 1 1 total 0.011598 0.001508
2 1 2 1 1 total 0.010856 0.001613
1 2 1 1 1 total 0.011622 0.002259
diff --git a/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat b/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat
index 602e04abe0..bd6abbb7cb 100644
--- a/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_distribcell/inputs_true.dat
@@ -89,10 +89,10 @@
1
-
+
3
-
+
1 2 3 4 5 6
@@ -182,19 +182,19 @@
1 2
total
- fission
+ (n,2n)
tracklength
1 2
total
- flux
+ (n,3n)
tracklength
1 2
total
- fission
+ (n,4n)
tracklength
@@ -206,305 +206,335 @@
1 2
total
- nu-fission
+ absorption
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- kappa-fission
+ flux
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- scatter
+ flux
tracklength
1 2
total
- flux
- analog
+ nu-fission
+ tracklength
1 2
total
- nu-scatter
- analog
+ flux
+ tracklength
1 2
total
- flux
- analog
+ kappa-fission
+ tracklength
- 1 2 5 28
+ 1 2
total
- scatter
- analog
+ flux
+ tracklength
+ 1 2
+ total
+ scatter
+ tracklength
+
+
1 2
total
flux
analog
-
- 1 2 5 28
- total
- nu-scatter
- analog
-
- 1 2 5
+ 1 2
total
nu-scatter
analog
- 1 2 5
+ 1 2
total
- scatter
+ flux
analog
- 1 2
+ 1 2 5 30
total
- flux
+ scatter
analog
- 1 2 5
+ 1 2
total
- nu-fission
+ flux
analog
- 1 2 5
+ 1 2 5 30
total
- scatter
+ nu-scatter
analog
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
1 2 5
total
nu-scatter
analog
-
+
+ 1 2 5
+ total
+ scatter
+ analog
+
+
1 2
total
+ flux
+ analog
+
+
+ 1 2 5
+ total
nu-fission
analog
-
- 1 5
+
+ 1 2 5
total
- nu-fission
+ scatter
analog
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
1 2
total
- prompt-nu-fission
- analog
+ scatter
+ tracklength
- 1 5
+ 1 2 5 30
total
- prompt-nu-fission
+ scatter
analog
- 1 2
+ 1 2 5
total
- flux
- tracklength
+ nu-scatter
+ analog
1 2
total
- inverse-velocity
- tracklength
+ nu-fission
+ analog
- 1 2
+ 1 5
total
- flux
- tracklength
+ nu-fission
+ analog
1 2
total
prompt-nu-fission
- tracklength
-
-
- 1 2
- total
- flux
analog
-
- 1 2 5
+
+ 1 5
total
prompt-nu-fission
analog
-
+
1 2
total
flux
tracklength
+
+ 1 2
+ total
+ inverse-velocity
+ tracklength
+
1 2
total
- total
+ flux
tracklength
1 2
total
- flux
- analog
+ prompt-nu-fission
+ tracklength
- 1 5 6
- total
- scatter
- analog
-
-
1 2
total
flux
- tracklength
+ analog
+
+
+ 1 2 5
+ total
+ prompt-nu-fission
+ analog
1 2
total
- total
+ flux
tracklength
+ 1 2
+ total
+ total
+ tracklength
+
+
1 2
total
flux
analog
-
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ total
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
1 5 6
total
nu-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 73 2
- total
- delayed-nu-fission
- tracklength
-
- 1 73
+ 1 75 2
total
delayed-nu-fission
tracklength
- 1 73
+ 1 75 2
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 75 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
+
+ 1 75 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 75
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 75
total
decay-rate
tracklength
-
+
1 2
total
flux
analog
-
- 1 73 2 5
+
+ 1 75 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 e6e4b99e42..3d362c1bd2 100644
--- a/tests/regression_tests/mgxs_library_distribcell/results_true.dat
+++ b/tests/regression_tests/mgxs_library_distribcell/results_true.dat
@@ -7,6 +7,8 @@
sum(distribcell) 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 total 0.06484 0.002514
sum(distribcell) 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 total 0.064761 0.002514
+ sum(distribcell) 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 total 0.028638 0.002713
sum(distribcell) 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 total 0.036203 0.001449
diff --git a/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat b/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat
index 9661cd46be..cac18ffcd2 100644
--- a/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_hdf5/inputs_true.dat
@@ -67,16 +67,16 @@
1
-
+
3
-
+
0.0 20000000.0
-
+
1
-
+
1 2 3 4 5 6
@@ -166,19 +166,19 @@
1 2
total
- fission
+ (n,2n)
tracklength
1 2
total
- flux
+ (n,3n)
tracklength
1 2
total
- fission
+ (n,4n)
tracklength
@@ -190,207 +190,207 @@
1 2
total
- nu-fission
+ absorption
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- kappa-fission
+ flux
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- scatter
+ flux
tracklength
1 2
total
- flux
- analog
+ nu-fission
+ tracklength
1 2
total
- nu-scatter
- analog
+ flux
+ tracklength
1 2
total
- flux
- analog
+ kappa-fission
+ tracklength
- 1 2 5 28
+ 1 2
total
- scatter
- analog
+ flux
+ tracklength
+ 1 2
+ total
+ scatter
+ tracklength
+
+
1 2
total
flux
analog
-
- 1 2 5 28
- total
- nu-scatter
- analog
-
- 1 2 5
+ 1 2
total
nu-scatter
analog
- 1 2 5
+ 1 2
total
- scatter
+ flux
analog
- 1 2
+ 1 2 5 30
total
- flux
+ scatter
analog
- 1 2 5
+ 1 2
total
- nu-fission
+ flux
analog
- 1 2 5
+ 1 2 5 30
total
- scatter
+ nu-scatter
analog
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
1 2 5
total
nu-scatter
analog
-
- 1 52
+
+ 1 2 5
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 5
total
nu-fission
analog
-
- 1 5
+
+ 1 2 5
total
- nu-fission
+ scatter
analog
-
- 1 52
- total
- prompt-nu-fission
- analog
-
-
- 1 5
- total
- prompt-nu-fission
- analog
-
-
+
1 2
total
flux
tracklength
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2 5
+ total
+ nu-scatter
+ analog
+
+ 1 54
+ total
+ nu-fission
+ analog
+
+
+ 1 5
+ total
+ nu-fission
+ analog
+
+
+ 1 54
+ total
+ prompt-nu-fission
+ analog
+
+
+ 1 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
1 2
total
inverse-velocity
tracklength
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- prompt-nu-fission
- tracklength
-
-
- 1 2
- total
- flux
- analog
-
-
- 1 2 5
- total
- prompt-nu-fission
- analog
-
-
- 66 2
- total
- current
- analog
-
1 2
total
@@ -400,7 +400,7 @@
1 2
total
- total
+ prompt-nu-fission
tracklength
@@ -410,91 +410,121 @@
analog
- 1 5 6
+ 1 2 5
total
- scatter
+ prompt-nu-fission
analog
- 1 2
+ 68 2
total
- flux
- tracklength
+ current
+ analog
1 2
total
- total
+ flux
tracklength
+ 1 2
+ total
+ total
+ tracklength
+
+
1 2
total
flux
analog
-
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ total
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
1 5 6
total
nu-scatter
analog
-
+
1 2
total
flux
tracklength
-
- 1 77 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 77 52
- total
- delayed-nu-fission
- analog
-
-
- 1 77 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 77 2
- total
- delayed-nu-fission
- tracklength
-
- 1 77
+ 1 79 2
total
delayed-nu-fission
tracklength
- 1 77
+ 1 79 54
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 79 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
+
+ 1 79 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 79
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 79
total
decay-rate
tracklength
-
+
1 2
total
flux
analog
-
- 1 77 2 5
+
+ 1 79 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 6da73ec9bd..b075939f2b 100644
--- a/tests/regression_tests/mgxs_library_hdf5/results_true.dat
+++ b/tests/regression_tests/mgxs_library_hdf5/results_true.dat
@@ -10,6 +10,9 @@ domain=1 type=nu-transport
domain=1 type=absorption
[9.18204614e-03 9.50890834e-02]
[1.02291781e-03 9.51211716e-03]
+domain=1 type=reduced absorption
+[9.15806809e-03 9.50890834e-02]
+[1.02286279e-03 9.51211716e-03]
domain=1 type=capture
[6.76780024e-03 4.04282690e-02]
[1.01848835e-03 8.89313901e-03]
diff --git a/tests/regression_tests/mgxs_library_mesh/inputs_true.dat b/tests/regression_tests/mgxs_library_mesh/inputs_true.dat
index 5cac8ecf42..ac2ff0c81e 100644
--- a/tests/regression_tests/mgxs_library_mesh/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_mesh/inputs_true.dat
@@ -50,13 +50,13 @@
1
-
+
3
-
+
1
-
+
1 2 3 4 5 6
@@ -146,19 +146,19 @@
1 2
total
- fission
+ (n,2n)
tracklength
1 2
total
- flux
+ (n,3n)
tracklength
1 2
total
- fission
+ (n,4n)
tracklength
@@ -170,206 +170,206 @@
1 2
total
- nu-fission
+ absorption
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- kappa-fission
+ flux
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- scatter
+ flux
tracklength
1 2
total
- flux
- analog
+ nu-fission
+ tracklength
1 2
total
- nu-scatter
- analog
+ flux
+ tracklength
1 2
total
- flux
- analog
+ kappa-fission
+ tracklength
- 1 2 5 28
+ 1 2
total
- scatter
- analog
+ flux
+ tracklength
+ 1 2
+ total
+ scatter
+ tracklength
+
+
1 2
total
flux
analog
-
- 1 2 5 28
- total
- nu-scatter
- analog
-
- 1 2 5
+ 1 2
total
nu-scatter
analog
- 1 2 5
+ 1 2
total
- scatter
+ flux
analog
- 1 2
+ 1 2 5 30
total
- flux
+ scatter
analog
- 1 2 5
+ 1 2
total
- nu-fission
+ flux
analog
- 1 2 5
+ 1 2 5 30
total
- scatter
+ nu-scatter
analog
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
1 2 5
total
nu-scatter
analog
-
+
+ 1 2 5
+ total
+ scatter
+ analog
+
+
1 2
total
+ flux
+ analog
+
+
+ 1 2 5
+ total
nu-fission
analog
-
- 1 5
+
+ 1 2 5
total
- nu-fission
+ scatter
analog
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
1 2
total
- prompt-nu-fission
- analog
+ scatter
+ tracklength
- 1 5
+ 1 2 5 30
total
- prompt-nu-fission
+ scatter
analog
- 1 2
+ 1 2 5
total
- flux
- tracklength
+ nu-scatter
+ analog
1 2
total
- inverse-velocity
- tracklength
+ nu-fission
+ analog
- 1 2
+ 1 5
total
- flux
- tracklength
+ nu-fission
+ analog
1 2
total
prompt-nu-fission
- tracklength
-
-
- 1 2
- total
- flux
analog
-
- 1 2 5
+
+ 1 5
total
prompt-nu-fission
analog
-
- 66 2
+
+ 1 2
total
- current
- analog
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ inverse-velocity
+ tracklength
1 2
@@ -380,7 +380,7 @@
1 2
total
- total
+ prompt-nu-fission
tracklength
@@ -390,91 +390,121 @@
analog
- 1 5 6
+ 1 2 5
total
- scatter
+ prompt-nu-fission
analog
- 1 2
+ 68 2
total
- flux
- tracklength
+ current
+ analog
1 2
total
- total
+ flux
tracklength
+ 1 2
+ total
+ total
+ tracklength
+
+
1 2
total
flux
analog
-
+
+ 1 5 6
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ total
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
1 5 6
total
nu-scatter
analog
-
+
1 2
total
flux
tracklength
-
- 1 77 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 77 2
- total
- delayed-nu-fission
- analog
-
-
- 1 77 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 77 2
- total
- delayed-nu-fission
- tracklength
-
- 1 77
+ 1 79 2
total
delayed-nu-fission
tracklength
- 1 77
+ 1 79 2
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 79 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
+
+ 1 79 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 79
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 79
total
decay-rate
tracklength
-
+
1 2
total
flux
analog
-
- 1 77 2 5
+
+ 1 79 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 7a6b4abe7c..390b5c453a 100644
--- a/tests/regression_tests/mgxs_library_mesh/results_true.dat
+++ b/tests/regression_tests/mgxs_library_mesh/results_true.dat
@@ -24,6 +24,12 @@
3 2 2 1 1 total 0.013286 0.000621
mesh 1 group in nuclide mean std. dev.
x y z
+0 1 1 1 1 total 0.012881 0.000835
+2 1 2 1 1 total 0.013282 0.000552
+1 2 1 1 1 total 0.013896 0.000714
+3 2 2 1 1 total 0.013180 0.000621
+ mesh 1 group in nuclide mean std. dev.
+ x y z
0 1 1 1 1 total 0.001231 0.000979
2 1 2 1 1 total 0.001332 0.000691
1 2 1 1 1 total 0.001346 0.000770
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 0d9dbf8215..59cbddec48 100644
--- a/tests/regression_tests/mgxs_library_no_nuclides/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_no_nuclides/inputs_true.dat
@@ -62,19 +62,19 @@
1
-
+
3
-
+
0.0 20000000.0
-
+
1 2 3 4 5 6
-
+
2
-
+
3
@@ -164,19 +164,19 @@
1 2
total
- fission
+ (n,2n)
tracklength
1 2
total
- flux
+ (n,3n)
tracklength
1 2
total
- fission
+ (n,4n)
tracklength
@@ -188,1673 +188,1763 @@
1 2
total
- nu-fission
+ absorption
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- kappa-fission
+ flux
tracklength
1 2
total
- flux
+ fission
tracklength
1 2
total
- scatter
+ flux
tracklength
1 2
total
- flux
- analog
+ nu-fission
+ tracklength
1 2
total
- nu-scatter
- analog
+ flux
+ tracklength
1 2
total
- flux
- analog
+ kappa-fission
+ tracklength
- 1 2 5 28
+ 1 2
total
- scatter
- analog
+ flux
+ tracklength
+ 1 2
+ total
+ scatter
+ tracklength
+
+
1 2
total
flux
analog
-
- 1 2 5 28
- total
- nu-scatter
- analog
-
- 1 2 5
+ 1 2
total
nu-scatter
analog
- 1 2 5
+ 1 2
total
- scatter
+ flux
analog
- 1 2
+ 1 2 5 30
total
- flux
+ scatter
analog
- 1 2 5
+ 1 2
total
- nu-fission
+ flux
analog
- 1 2 5
+ 1 2 5 30
total
- scatter
+ nu-scatter
analog
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- scatter
- tracklength
-
-
- 1 2 5 28
- total
- scatter
- analog
-
-
1 2 5
total
nu-scatter
analog
-
- 1 52
+
+ 1 2 5
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 5
total
nu-fission
analog
+
+ 1 2 5
+ total
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ total
+ scatter
+ analog
+
+
+ 1 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 1 54
+ total
+ nu-fission
+ analog
+
+
1 5
total
nu-fission
analog
-
- 1 52
+
+ 1 54
total
prompt-nu-fission
analog
-
+
1 5
total
prompt-nu-fission
analog
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- inverse-velocity
- tracklength
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- total
- prompt-nu-fission
- tracklength
-
-
- 1 2
- total
- flux
- analog
-
- 1 2 5
+ 1 2
total
- prompt-nu-fission
- analog
+ flux
+ tracklength
1 2
total
- flux
+ inverse-velocity
tracklength
1 2
total
- total
+ flux
tracklength
1 2
total
- flux
- analog
+ prompt-nu-fission
+ tracklength
- 1 5 6
- total
- scatter
- analog
-
-
1 2
total
flux
- tracklength
+ analog
+
+
+ 1 2 5
+ total
+ prompt-nu-fission
+ analog
1 2
total
- total
+ flux
tracklength
1 2
total
- flux
- analog
+ total
+ tracklength
- 1 5 6
- total
- nu-scatter
- analog
-
-
1 2
total
flux
- tracklength
+ analog
+
+
+ 1 5 6
+ total
+ scatter
+ analog
1 2
total
- (n,elastic)
+ flux
tracklength
1 2
total
- flux
+ total
tracklength
1 2
total
- (n,level)
- tracklength
+ flux
+ analog
- 1 2
+ 1 5 6
total
- flux
- tracklength
+ nu-scatter
+ analog
1 2
total
- (n,2n)
+ flux
tracklength
1 2
total
- flux
+ (n,elastic)
tracklength
1 2
total
- (n,na)
+ flux
tracklength
1 2
total
- flux
+ (n,level)
tracklength
1 2
total
- (n,nc)
+ flux
tracklength
1 2
total
- flux
+ (n,2n)
tracklength
1 2
total
- (n,gamma)
+ flux
tracklength
1 2
total
- flux
+ (n,na)
tracklength
1 2
total
- (n,a)
+ flux
tracklength
1 2
total
- flux
+ (n,nc)
tracklength
1 2
total
- (n,Xa)
+ flux
tracklength
1 2
total
- flux
+ (n,gamma)
tracklength
1 2
total
- heating
+ flux
tracklength
1 2
total
- flux
+ (n,a)
tracklength
1 2
total
- damage-energy
+ flux
tracklength
1 2
total
- flux
+ (n,Xa)
tracklength
1 2
total
- (n,n1)
+ flux
tracklength
1 2
total
- flux
+ heating
tracklength
1 2
total
- (n,a0)
+ flux
tracklength
+ 1 2
+ total
+ damage-energy
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ (n,n1)
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ total
+ (n,a0)
+ tracklength
+
+
1 2
total
flux
analog
-
+
1 2 5
total
(n,nc)
analog
-
+
1 2
total
flux
analog
-
+
1 2 5
total
(n,n1)
analog
-
+
1 2
total
flux
analog
-
+
1 2 5
total
(n,2n)
analog
-
+
1 2
total
flux
tracklength
-
- 1 106 2
- total
- delayed-nu-fission
- tracklength
-
-
- 1 106 52
- total
- delayed-nu-fission
- analog
-
-
- 1 106 5
- total
- delayed-nu-fission
- analog
-
-
- 1 2
- total
- nu-fission
- tracklength
-
-
- 1 106 2
- total
- delayed-nu-fission
- tracklength
-
- 1 106
+ 1 108 2
total
delayed-nu-fission
tracklength
- 1 106
+ 1 108 54
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 108 5
+ total
+ delayed-nu-fission
+ analog
+
+
+ 1 2
+ total
+ nu-fission
+ tracklength
+
+
+ 1 108 2
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 108
+ total
+ delayed-nu-fission
+ tracklength
+
+
+ 1 108
total
decay-rate
tracklength
-
+
1 2
total
flux
analog
-
- 1 106 2 5
+
+ 1 108 2 5
total
delayed-nu-fission
analog
-
- 120 2
+
+ 122 2
total
flux
tracklength
-
- 120 2
+
+ 122 2
total
total
tracklength
-
- 120 2
+
+ 122 2
total
flux
tracklength
-
- 120 2
+
+ 122 2
total
total
tracklength
-
- 120 2
+
+ 122 2
total
flux
analog
-
- 120 5 6
+
+ 122 5 6
total
scatter
analog
-
- 120 2
+
+ 122 2
total
flux
tracklength
-
- 120 2
+
+ 122 2
total
total
tracklength
-
- 120 2
+
+ 122 2
total
flux
analog
-
- 120 5 6
+
+ 122 5 6
total
nu-scatter
analog
-
- 120 2
- total
- flux
- tracklength
-
-
- 120 2
- total
- absorption
- tracklength
-
-
- 120 2
- total
- flux
- tracklength
-
-
- 120 2
- total
- absorption
- tracklength
-
-
- 120 2
- total
- fission
- tracklength
-
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- fission
+ absorption
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- nu-fission
+ absorption
tracklength
- 120 2
+ 122 2
+ total
+ (n,2n)
+ tracklength
+
+
+ 122 2
+ total
+ (n,3n)
+ tracklength
+
+
+ 122 2
+ total
+ (n,4n)
+ tracklength
+
+
+ 122 2
total
flux
tracklength
-
- 120 2
+
+ 122 2
+ total
+ absorption
+ tracklength
+
+
+ 122 2
+ total
+ fission
+ tracklength
+
+
+ 122 2
+ total
+ flux
+ tracklength
+
+
+ 122 2
+ total
+ fission
+ tracklength
+
+
+ 122 2
+ total
+ flux
+ tracklength
+
+
+ 122 2
+ total
+ nu-fission
+ tracklength
+
+
+ 122 2
+ total
+ flux
+ tracklength
+
+
+ 122 2
total
kappa-fission
tracklength
-
- 120 2
- total
- flux
- tracklength
-
-
- 120 2
- total
- scatter
- tracklength
-
-
- 120 2
- total
- flux
- analog
-
-
- 120 2
- total
- nu-scatter
- analog
-
-
- 120 2
- total
- flux
- analog
-
-
- 120 2 5 28
- total
- scatter
- analog
-
-
- 120 2
- total
- flux
- analog
-
-
- 120 2 5 28
- total
- nu-scatter
- analog
-
-
- 120 2 5
- total
- nu-scatter
- analog
-
-
- 120 2 5
- total
- scatter
- analog
-
- 120 2
+ 122 2
total
flux
- analog
+ tracklength
- 120 2 5
- total
- nu-fission
- analog
-
-
- 120 2 5
+ 122 2
total
scatter
+ tracklength
+
+
+ 122 2
+ total
+ flux
analog
- 120 2
+ 122 2
total
- flux
- tracklength
+ nu-scatter
+ analog
- 120 2
+ 122 2
total
- scatter
- tracklength
+ flux
+ analog
- 120 2 5 28
+ 122 2 5 30
total
scatter
analog
- 120 2
+ 122 2
total
flux
- tracklength
-
-
- 120 2
- total
- scatter
- tracklength
-
-
- 120 2 5 28
- total
- scatter
analog
-
- 120 2 5
+
+ 122 2 5 30
total
nu-scatter
analog
-
- 120 52
+
+ 122 2 5
total
- nu-fission
+ nu-scatter
+ analog
+
+
+ 122 2 5
+ total
+ scatter
+ analog
+
+
+ 122 2
+ total
+ flux
analog
- 120 5
+ 122 2 5
total
nu-fission
analog
- 120 52
+ 122 2 5
total
- prompt-nu-fission
+ scatter
analog
- 120 5
- total
- prompt-nu-fission
- analog
-
-
- 120 2
+ 122 2
total
flux
tracklength
-
- 120 2
+
+ 122 2
total
- inverse-velocity
+ scatter
tracklength
+
+ 122 2 5 30
+ total
+ scatter
+ analog
+
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- prompt-nu-fission
+ scatter
tracklength
- 120 2
- total
- flux
- analog
-
-
- 120 2 5
- total
- prompt-nu-fission
- analog
-
-
- 120 2
- total
- flux
- tracklength
-
-
- 120 2
- total
- total
- tracklength
-
-
- 120 2
- total
- flux
- analog
-
-
- 120 5 6
+ 122 2 5 30
total
scatter
analog
+
+ 122 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 122 54
+ total
+ nu-fission
+ analog
+
+
+ 122 5
+ total
+ nu-fission
+ analog
+
+
+ 122 54
+ total
+ prompt-nu-fission
+ analog
+
+
+ 122 5
+ total
+ prompt-nu-fission
+ analog
+
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- total
+ inverse-velocity
tracklength
- 120 2
+ 122 2
total
flux
- analog
+ tracklength
- 120 5 6
+ 122 2
total
- nu-scatter
- analog
+ prompt-nu-fission
+ tracklength
- 120 2
+ 122 2
total
flux
- tracklength
+ analog
- 120 2
+ 122 2 5
total
- (n,elastic)
- tracklength
+ prompt-nu-fission
+ analog
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,level)
+ total
tracklength
- 120 2
+ 122 2
total
flux
- tracklength
+ analog
- 120 2
+ 122 5 6
total
- (n,2n)
- tracklength
+ scatter
+ analog
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,na)
+ total
tracklength
- 120 2
+ 122 2
total
flux
- tracklength
+ analog
- 120 2
+ 122 5 6
total
- (n,nc)
- tracklength
+ nu-scatter
+ analog
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,gamma)
+ (n,elastic)
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,a)
+ (n,level)
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,Xa)
+ (n,2n)
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- heating
+ (n,na)
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- damage-energy
+ (n,nc)
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,n1)
+ (n,gamma)
tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 2
+ 122 2
total
- (n,a0)
+ (n,a)
tracklength
- 120 2
+ 122 2
total
flux
- analog
+ tracklength
- 120 2 5
+ 122 2
total
- (n,nc)
- analog
+ (n,Xa)
+ tracklength
- 120 2
+ 122 2
total
flux
- analog
+ tracklength
- 120 2 5
+ 122 2
total
- (n,n1)
- analog
+ heating
+ tracklength
- 120 2
+ 122 2
total
flux
- analog
+ tracklength
- 120 2 5
+ 122 2
total
- (n,2n)
- analog
+ damage-energy
+ tracklength
- 120 2
+ 122 2
total
flux
tracklength
- 120 106 2
+ 122 2
total
- delayed-nu-fission
+ (n,n1)
tracklength
- 120 106 52
+ 122 2
total
- delayed-nu-fission
- analog
+ flux
+ tracklength
- 120 106 5
+ 122 2
total
- delayed-nu-fission
- analog
+ (n,a0)
+ tracklength
- 120 2
+ 122 2
total
- nu-fission
- tracklength
+ flux
+ analog
- 120 106 2
+ 122 2 5
total
- delayed-nu-fission
- tracklength
+ (n,nc)
+ analog
- 120 106
+ 122 2
total
- delayed-nu-fission
- tracklength
+ flux
+ analog
- 120 106
+ 122 2 5
total
- decay-rate
- tracklength
+ (n,n1)
+ analog
- 120 2
+ 122 2
total
flux
analog
- 120 106 2 5
+ 122 2 5
total
- delayed-nu-fission
+ (n,2n)
analog
- 239 2
+ 122 2
total
flux
tracklength
- 239 2
+ 122 108 2
total
- total
+ delayed-nu-fission
tracklength
- 239 2
+ 122 108 54
total
- flux
- tracklength
+ delayed-nu-fission
+ analog
- 239 2
+ 122 108 5
total
- total
- tracklength
+ delayed-nu-fission
+ analog
- 239 2
+ 122 2
total
- flux
- analog
+ nu-fission
+ tracklength
- 239 5 6
+ 122 108 2
total
- scatter
- analog
+ delayed-nu-fission
+ tracklength
- 239 2
+ 122 108
total
- flux
+ delayed-nu-fission
tracklength
- 239 2
+ 122 108
total
- total
+ decay-rate
tracklength
- 239 2
+ 122 2
total
flux
analog
- 239 5 6
+ 122 108 2 5
total
- nu-scatter
+ delayed-nu-fission
analog
- 239 2
+ 243 2
total
flux
tracklength
- 239 2
+ 243 2
total
- absorption
+ total
tracklength
- 239 2
+ 243 2
total
flux
tracklength
- 239 2
+ 243 2
+ total
+ total
+ tracklength
+
+
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 5 6
+ total
+ scatter
+ analog
+
+
+ 243 2
+ total
+ flux
+ tracklength
+
+
+ 243 2
+ total
+ total
+ tracklength
+
+
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 5 6
+ total
+ nu-scatter
+ analog
+
+
+ 243 2
+ total
+ flux
+ tracklength
+
+
+ 243 2
total
absorption
tracklength
-
- 239 2
- total
- fission
- tracklength
-
-
- 239 2
- total
- flux
- tracklength
-
-
- 239 2
- total
- fission
- tracklength
-
-
- 239 2
- total
- flux
- tracklength
-
-
- 239 2
- total
- nu-fission
- tracklength
-
-
- 239 2
- total
- flux
- tracklength
-
-
- 239 2
- total
- kappa-fission
- tracklength
-
-
- 239 2
- total
- flux
- tracklength
-
- 239 2
+ 243 2
total
- scatter
+ flux
tracklength
- 239 2
+ 243 2
total
- flux
- analog
+ absorption
+ tracklength
- 239 2
+ 243 2
total
- nu-scatter
- analog
+ (n,2n)
+ tracklength
- 239 2
+ 243 2
total
- flux
- analog
+ (n,3n)
+ tracklength
- 239 2 5 28
+ 243 2
total
- scatter
- analog
+ (n,4n)
+ tracklength
- 239 2
+ 243 2
total
flux
- analog
+ tracklength
- 239 2 5 28
+ 243 2
total
- nu-scatter
- analog
+ absorption
+ tracklength
- 239 2 5
+ 243 2
total
- nu-scatter
- analog
+ fission
+ tracklength
- 239 2 5
- total
- scatter
- analog
-
-
- 239 2
+ 243 2
total
flux
- analog
+ tracklength
+
+
+ 243 2
+ total
+ fission
+ tracklength
- 239 2 5
+ 243 2
total
- nu-fission
- analog
+ flux
+ tracklength
- 239 2 5
+ 243 2
total
- scatter
- analog
+ nu-fission
+ tracklength
- 239 2
+ 243 2
total
flux
tracklength
- 239 2
+ 243 2
total
- scatter
+ kappa-fission
tracklength
- 239 2 5 28
- total
- scatter
- analog
-
-
- 239 2
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
scatter
tracklength
-
- 239 2 5 28
+
+ 243 2
total
- scatter
+ flux
analog
-
- 239 2 5
+
+ 243 2
total
nu-scatter
analog
-
- 239 52
+
+ 243 2
total
- nu-fission
+ flux
+ analog
+
+
+ 243 2 5 30
+ total
+ scatter
analog
- 239 5
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 2 5 30
+ total
+ nu-scatter
+ analog
+
+
+ 243 2 5
+ total
+ nu-scatter
+ analog
+
+
+ 243 2 5
+ total
+ scatter
+ analog
+
+
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 2 5
total
nu-fission
analog
-
- 239 52
- total
- prompt-nu-fission
- analog
-
-
- 239 5
- total
- prompt-nu-fission
- analog
-
-
- 239 2
- total
- flux
- tracklength
-
-
- 239 2
- total
- inverse-velocity
- tracklength
-
-
- 239 2
- total
- flux
- tracklength
-
- 239 2
+ 243 2 5
total
- prompt-nu-fission
- tracklength
+ scatter
+ analog
- 239 2
- total
- flux
- analog
-
-
- 239 2 5
- total
- prompt-nu-fission
- analog
-
-
- 239 2
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
- total
+ scatter
+ tracklength
+
+
+ 243 2 5 30
+ total
+ scatter
+ analog
+
+
+ 243 2
+ total
+ flux
tracklength
- 239 2
+ 243 2
total
- flux
- analog
+ scatter
+ tracklength
- 239 5 6
+ 243 2 5 30
total
scatter
analog
- 239 2
- total
- flux
- tracklength
-
-
- 239 2
- total
- total
- tracklength
-
-
- 239 2
- total
- flux
- analog
-
-
- 239 5 6
+ 243 2 5
total
nu-scatter
analog
+
+ 243 54
+ total
+ nu-fission
+ analog
+
+
+ 243 5
+ total
+ nu-fission
+ analog
+
+
+ 243 54
+ total
+ prompt-nu-fission
+ analog
+
- 239 2
+ 243 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
+ total
+ inverse-velocity
+ tracklength
+
+
+ 243 2
+ total
+ flux
+ tracklength
+
+
+ 243 2
+ total
+ prompt-nu-fission
+ tracklength
+
+
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 2 5
+ total
+ prompt-nu-fission
+ analog
+
+
+ 243 2
+ total
+ flux
+ tracklength
+
+
+ 243 2
+ total
+ total
+ tracklength
+
+
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 5 6
+ total
+ scatter
+ analog
+
+
+ 243 2
+ total
+ flux
+ tracklength
+
+
+ 243 2
+ total
+ total
+ tracklength
+
+
+ 243 2
+ total
+ flux
+ analog
+
+
+ 243 5 6
+ total
+ nu-scatter
+ analog
+
+
+ 243 2
+ total
+ flux
+ tracklength
+
+
+ 243 2
total
(n,elastic)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,level)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,2n)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,na)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,nc)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,gamma)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,a)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,Xa)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
heating
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
damage-energy
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,n1)
tracklength
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 2
+
+ 243 2
total
(n,a0)
tracklength
-
- 239 2
+
+ 243 2
total
flux
analog
-
- 239 2 5
+
+ 243 2 5
total
(n,nc)
analog
-
- 239 2
+
+ 243 2
total
flux
analog
-
- 239 2 5
+
+ 243 2 5
total
(n,n1)
analog
-
- 239 2
+
+ 243 2
total
flux
analog
-
- 239 2 5
+
+ 243 2 5
total
(n,2n)
analog
-
- 239 2
+
+ 243 2
total
flux
tracklength
-
- 239 106 2
+
+ 243 108 2
total
delayed-nu-fission
tracklength
-
- 239 106 52
+
+ 243 108 54
total
delayed-nu-fission
analog
-
- 239 106 5
+
+ 243 108 5
total
delayed-nu-fission
analog
-
- 239 2
+
+ 243 2
total
nu-fission
tracklength
-
- 239 106 2
+
+ 243 108 2
total
delayed-nu-fission
tracklength
-
- 239 106
+
+ 243 108
total
delayed-nu-fission
tracklength
-
- 239 106
+
+ 243 108
total
decay-rate
tracklength
-
- 239 2
+
+ 243 2
total
flux
analog
-
- 239 106 2 5
+
+ 243 108 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 32ae7f4cf2..dfbd183d44 100644
--- a/tests/regression_tests/mgxs_library_no_nuclides/results_true.dat
+++ b/tests/regression_tests/mgxs_library_no_nuclides/results_true.dat
@@ -14,6 +14,10 @@ absorption
material group in nuclide mean std. dev.
1 1 1 total 0.027335 0.002038
0 1 2 total 0.263007 0.029616
+reduced absorption
+ material group in nuclide mean std. dev.
+1 1 1 total 0.027278 0.002038
+0 1 2 total 0.263007 0.029616
capture
material group in nuclide mean std. dev.
1 1 1 total 0.019722 0.001980
@@ -316,6 +320,10 @@ absorption
material group in nuclide mean std. dev.
1 2 1 total 0.001395 0.000129
0 2 2 total 0.005202 0.000498
+reduced absorption
+ material group in nuclide mean std. dev.
+1 2 1 total 0.001390 0.000129
+0 2 2 total 0.005202 0.000498
capture
material group in nuclide mean std. dev.
1 2 1 total 0.001395 0.000129
@@ -618,6 +626,10 @@ absorption
material group in nuclide mean std. dev.
1 3 1 total 0.000715 0.000032
0 3 2 total 0.031290 0.001882
+reduced absorption
+ material group in nuclide mean std. dev.
+1 3 1 total 0.000715 0.000032
+0 3 2 total 0.031290 0.001882
capture
material group in nuclide mean std. dev.
1 3 1 total 0.000715 0.000032
diff --git a/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat b/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat
index f29a41f3d7..e45fe389ef 100644
--- a/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat
+++ b/tests/regression_tests/mgxs_library_nuclides/inputs_true.dat
@@ -62,16 +62,16 @@
1
-
+
3
-
+
0.0 20000000.0
-
+
2
-
+
3
@@ -161,19 +161,19 @@
1 2
U234 U235 U238 O16
- fission
+ (n,2n)
tracklength
1 2
- total
- flux
+ U234 U235 U238 O16
+ (n,3n)
tracklength
1 2
U234 U235 U238 O16
- fission
+ (n,4n)
tracklength
@@ -185,1493 +185,1583 @@
1 2
U234 U235 U238 O16
- nu-fission
+ absorption
tracklength
+ 1 2
+ U234 U235 U238 O16
+ fission
+ tracklength
+
+
1 2
total
flux
tracklength
-
+
+ 1 2
+ U234 U235 U238 O16
+ fission
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ U234 U235 U238 O16
+ nu-fission
+ tracklength
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
1 2
U234 U235 U238 O16
kappa-fission
tracklength
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- U234 U235 U238 O16
- scatter
- tracklength
-
-
- 1 2
- total
- flux
- analog
-
-
- 1 2
- U234 U235 U238 O16
- nu-scatter
- analog
-
-
- 1 2
- total
- flux
- analog
-
- 1 2 5 28
- U234 U235 U238 O16
- scatter
- analog
+ 1 2
+ total
+ flux
+ tracklength
+ 1 2
+ U234 U235 U238 O16
+ scatter
+ tracklength
+
+
1 2
total
flux
analog
-
- 1 2 5 28
- U234 U235 U238 O16
- nu-scatter
- analog
-
- 1 2 5
+ 1 2
U234 U235 U238 O16
nu-scatter
analog
- 1 2 5
- U234 U235 U238 O16
- scatter
+ 1 2
+ total
+ flux
analog
- 1 2
- total
- flux
+ 1 2 5 30
+ U234 U235 U238 O16
+ scatter
analog
- 1 2 5
- U234 U235 U238 O16
- nu-fission
+ 1 2
+ total
+ flux
analog
- 1 2 5
+ 1 2 5 30
U234 U235 U238 O16
- scatter
+ nu-scatter
analog
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- U234 U235 U238 O16
- scatter
- tracklength
-
-
- 1 2 5 28
- U234 U235 U238 O16
- scatter
- analog
-
-
- 1 2
- total
- flux
- tracklength
-
-
- 1 2
- U234 U235 U238 O16
- scatter
- tracklength
-
-
- 1 2 5 28
- U234 U235 U238 O16
- scatter
- analog
-
-
1 2 5
U234 U235 U238 O16
nu-scatter
analog
-
- 1 52
+
+ 1 2 5
+ U234 U235 U238 O16
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ analog
+
+
+ 1 2 5
U234 U235 U238 O16
nu-fission
analog
-
- 1 5
+
+ 1 2 5
U234 U235 U238 O16
- nu-fission
+ scatter
analog
-
- 1 52
- U234 U235 U238 O16
- prompt-nu-fission
- analog
-
-
- 1 5
- U234 U235 U238 O16
- prompt-nu-fission
- analog
-
-
+
1 2
total
flux
tracklength
+
+ 1 2
+ U234 U235 U238 O16
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ U234 U235 U238 O16
+ scatter
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
+ 1 2
+ U234 U235 U238 O16
+ scatter
+ tracklength
+
+
+ 1 2 5 30
+ U234 U235 U238 O16
+ scatter
+ analog
+
+
+ 1 2 5
+ U234 U235 U238 O16
+ nu-scatter
+ analog
+
+ 1 54
+ U234 U235 U238 O16
+ nu-fission
+ analog
+
+
+ 1 5
+ U234 U235 U238 O16
+ nu-fission
+ analog
+
+
+ 1 54
+ U234 U235 U238 O16
+ prompt-nu-fission
+ analog
+
+
+ 1 5
+ U234 U235 U238 O16
+ prompt-nu-fission
+ analog
+
+
+ 1 2
+ total
+ flux
+ tracklength
+
+
1 2
U234 U235 U238 O16
inverse-velocity
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
prompt-nu-fission
tracklength
-
+
1 2
total
flux
analog
-
+
1 2 5
U234 U235 U238 O16
prompt-nu-fission
analog
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
total
tracklength
-
+
1 2
total
flux
analog
-
+
1 5 6
U234 U235 U238 O16
scatter
analog
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
total
tracklength
-
+
1 2
total
flux
analog
-
+
1 5 6
U234 U235 U238 O16
nu-scatter
analog
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,elastic)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,level)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,2n)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,na)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,nc)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,gamma)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,a)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,Xa)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
heating
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
damage-energy
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,n1)
tracklength
-
+
1 2
total
flux
tracklength
-
+
1 2
U234 U235 U238 O16
(n,a0)
tracklength
-
+
1 2
total
flux
analog
-
+
1 2 5
U234 U235 U238 O16
(n,nc)
analog
-
+
1 2
total
flux
analog
-
+
1 2 5
U234 U235 U238 O16
(n,n1)
analog
-
+
1 2
total
flux
analog
-
+
1 2 5
U234 U235 U238 O16
(n,2n)
analog
-
- 104 2
+
+ 106 2
total
flux
tracklength
-
- 104 2
+
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
total
tracklength
-
- 104 2
+
+ 106 2
total
flux
tracklength
-
- 104 2
+
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
total
tracklength
-
- 104 2
+
+ 106 2
total
flux
analog
-
- 104 5 6
+
+ 106 5 6
Zr90 Zr91 Zr92 Zr94 Zr96
scatter
analog
-
- 104 2
+
+ 106 2
total
flux
tracklength
-
- 104 2
+
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
total
tracklength
-
- 104 2
+
+ 106 2
total
flux
analog
-
- 104 5 6
+
+ 106 5 6
Zr90 Zr91 Zr92 Zr94 Zr96
nu-scatter
analog
-
- 104 2
- total
- flux
- tracklength
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- absorption
- tracklength
-
-
- 104 2
- total
- flux
- tracklength
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- absorption
- tracklength
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- fission
- tracklength
-
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- fission
+ absorption
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- nu-fission
+ absorption
tracklength
- 104 2
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,2n)
+ tracklength
+
+
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,3n)
+ tracklength
+
+
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,4n)
+ tracklength
+
+
+ 106 2
total
flux
tracklength
-
- 104 2
+
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ absorption
+ tracklength
+
+
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ fission
+ tracklength
+
+
+ 106 2
+ total
+ flux
+ tracklength
+
+
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ fission
+ tracklength
+
+
+ 106 2
+ total
+ flux
+ tracklength
+
+
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-fission
+ tracklength
+
+
+ 106 2
+ total
+ flux
+ tracklength
+
+
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
kappa-fission
tracklength
-
- 104 2
- total
- flux
- tracklength
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- tracklength
-
-
- 104 2
- total
- flux
- analog
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
- analog
-
-
- 104 2
- total
- flux
- analog
-
-
- 104 2 5 28
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
-
- 104 2
- total
- flux
- analog
-
-
- 104 2 5 28
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
- analog
-
-
- 104 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
- analog
-
-
- 104 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- analog
-
- 104 2
+ 106 2
total
flux
- analog
+ tracklength
- 104 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- nu-fission
- analog
-
-
- 104 2 5
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
scatter
+ tracklength
+
+
+ 106 2
+ total
+ flux
analog
- 104 2
- total
- flux
- tracklength
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-scatter
+ analog
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- tracklength
+ 106 2
+ total
+ flux
+ analog
- 104 2 5 28
+ 106 2 5 30
Zr90 Zr91 Zr92 Zr94 Zr96
scatter
analog
- 104 2
+ 106 2
total
flux
- tracklength
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
- tracklength
-
-
- 104 2 5 28
- Zr90 Zr91 Zr92 Zr94 Zr96
- scatter
analog
-
- 104 2 5
+
+ 106 2 5 30
Zr90 Zr91 Zr92 Zr94 Zr96
nu-scatter
analog
-
- 104 52
+
+ 106 2 5
Zr90 Zr91 Zr92 Zr94 Zr96
- nu-fission
+ nu-scatter
+ analog
+
+
+ 106 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ analog
+
+
+ 106 2
+ total
+ flux
analog
- 104 5
+ 106 2 5
Zr90 Zr91 Zr92 Zr94 Zr96
nu-fission
analog
- 104 52
+ 106 2 5
Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
+ scatter
analog
- 104 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
- analog
-
-
- 104 2
+ 106 2
total
flux
tracklength
-
- 104 2
+
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- inverse-velocity
+ scatter
tracklength
+
+ 106 2 5 30
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ scatter
+ analog
+
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
+ scatter
tracklength
- 104 2
- total
- flux
- analog
-
-
- 104 2 5
- Zr90 Zr91 Zr92 Zr94 Zr96
- prompt-nu-fission
- analog
-
-
- 104 2
- total
- flux
- tracklength
-
-
- 104 2
- Zr90 Zr91 Zr92 Zr94 Zr96
- total
- tracklength
-
-
- 104 2
- total
- flux
- analog
-
-
- 104 5 6
+ 106 2 5 30
Zr90 Zr91 Zr92 Zr94 Zr96
scatter
analog
+
+ 106 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-scatter
+ analog
+
+
+ 106 54
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-fission
+ analog
+
+
+ 106 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ nu-fission
+ analog
+
+
+ 106 54
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ prompt-nu-fission
+ analog
+
+
+ 106 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ prompt-nu-fission
+ analog
+
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- total
+ inverse-velocity
tracklength
- 104 2
+ 106 2
total
flux
- analog
+ tracklength
- 104 5 6
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- nu-scatter
- analog
+ prompt-nu-fission
+ tracklength
- 104 2
+ 106 2
total
flux
- tracklength
+ analog
- 104 2
+ 106 2 5
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,elastic)
- tracklength
+ prompt-nu-fission
+ analog
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,level)
+ total
tracklength
- 104 2
+ 106 2
total
flux
- tracklength
+ analog
- 104 2
+ 106 5 6
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,2n)
- tracklength
+ scatter
+ analog
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,na)
+ total
tracklength
- 104 2
+ 106 2
total
flux
- tracklength
+ analog
- 104 2
+ 106 5 6
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,nc)
- tracklength
+ nu-scatter
+ analog
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,gamma)
+ (n,elastic)
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,a)
+ (n,level)
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,Xa)
+ (n,2n)
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- heating
+ (n,na)
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- damage-energy
+ (n,nc)
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,n1)
+ (n,gamma)
tracklength
- 104 2
+ 106 2
total
flux
tracklength
- 104 2
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,a0)
+ (n,a)
tracklength
- 104 2
+ 106 2
total
flux
- analog
+ tracklength
- 104 2 5
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,nc)
- analog
+ (n,Xa)
+ tracklength
- 104 2
+ 106 2
total
flux
- analog
+ tracklength
- 104 2 5
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,n1)
- analog
+ heating
+ tracklength
- 104 2
+ 106 2
total
flux
- analog
+ tracklength
- 104 2 5
+ 106 2
Zr90 Zr91 Zr92 Zr94 Zr96
- (n,2n)
- analog
+ damage-energy
+ tracklength
- 207 2
+ 106 2
total
flux
tracklength
- 207 2
- H1 O16 B10 B11
- total
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,n1)
tracklength
- 207 2
+ 106 2
total
flux
tracklength
- 207 2
- H1 O16 B10 B11
- total
+ 106 2
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,a0)
tracklength
- 207 2
+ 106 2
total
flux
analog
- 207 5 6
- H1 O16 B10 B11
- scatter
+ 106 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,nc)
analog
- 207 2
+ 106 2
total
flux
- tracklength
+ analog
- 207 2
- H1 O16 B10 B11
- total
- tracklength
+ 106 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,n1)
+ analog
- 207 2
+ 106 2
total
flux
analog
- 207 5 6
- H1 O16 B10 B11
- nu-scatter
+ 106 2 5
+ Zr90 Zr91 Zr92 Zr94 Zr96
+ (n,2n)
analog
- 207 2
+ 211 2
total
flux
tracklength
- 207 2
+ 211 2
H1 O16 B10 B11
- absorption
+ total
tracklength
- 207 2
+ 211 2
total
flux
tracklength
- 207 2
+ 211 2
+ H1 O16 B10 B11
+ total
+ tracklength
+
+
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 5 6
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 211 2
+ total
+ flux
+ tracklength
+
+
+ 211 2
+ H1 O16 B10 B11
+ total
+ tracklength
+
+
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 5 6
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 211 2
+ total
+ flux
+ tracklength
+
+
+ 211 2
H1 O16 B10 B11
absorption
tracklength
-
- 207 2
- H1 O16 B10 B11
- fission
- tracklength
-
-
- 207 2
- total
- flux
- tracklength
-
-
- 207 2
- H1 O16 B10 B11
- fission
- tracklength
-
-
- 207 2
- total
- flux
- tracklength
-
-
- 207 2
- H1 O16 B10 B11
- nu-fission
- tracklength
-
-
- 207 2
- total
- flux
- tracklength
-
-
- 207 2
- H1 O16 B10 B11
- kappa-fission
- tracklength
-
-
- 207 2
- total
- flux
- tracklength
-
- 207 2
- H1 O16 B10 B11
- scatter
+ 211 2
+ total
+ flux
tracklength
- 207 2
- total
- flux
- analog
+ 211 2
+ H1 O16 B10 B11
+ absorption
+ tracklength
- 207 2
+ 211 2
H1 O16 B10 B11
- nu-scatter
- analog
+ (n,2n)
+ tracklength
- 207 2
- total
- flux
- analog
+ 211 2
+ H1 O16 B10 B11
+ (n,3n)
+ tracklength
- 207 2 5 28
+ 211 2
H1 O16 B10 B11
- scatter
- analog
+ (n,4n)
+ tracklength
- 207 2
+ 211 2
total
flux
- analog
+ tracklength
- 207 2 5 28
+ 211 2
H1 O16 B10 B11
- nu-scatter
- analog
+ absorption
+ tracklength
- 207 2 5
+ 211 2
H1 O16 B10 B11
- nu-scatter
- analog
+ fission
+ tracklength
- 207 2 5
- H1 O16 B10 B11
- scatter
- analog
-
-
- 207 2
+ 211 2
total
flux
- analog
+ tracklength
+
+
+ 211 2
+ H1 O16 B10 B11
+ fission
+ tracklength
- 207 2 5
- H1 O16 B10 B11
- nu-fission
- analog
+ 211 2
+ total
+ flux
+ tracklength
- 207 2 5
+ 211 2
H1 O16 B10 B11
- scatter
- analog
+ nu-fission
+ tracklength
- 207 2
+ 211 2
total
flux
tracklength
- 207 2
+ 211 2
H1 O16 B10 B11
- scatter
+ kappa-fission
tracklength
- 207 2 5 28
- H1 O16 B10 B11
- scatter
- analog
-
-
- 207 2
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
scatter
tracklength
-
- 207 2 5 28
- H1 O16 B10 B11
- scatter
+
+ 211 2
+ total
+ flux
analog
-
- 207 2 5
+
+ 211 2
H1 O16 B10 B11
nu-scatter
analog
+
+ 211 2
+ total
+ flux
+ analog
+
- 207 52
+ 211 2 5 30
H1 O16 B10 B11
- nu-fission
+ scatter
analog
- 207 5
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 2 5 30
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 211 2 5
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 211 2 5
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 2 5
H1 O16 B10 B11
nu-fission
analog
-
- 207 52
- H1 O16 B10 B11
- prompt-nu-fission
- analog
-
-
- 207 5
- H1 O16 B10 B11
- prompt-nu-fission
- analog
-
-
- 207 2
- total
- flux
- tracklength
-
-
- 207 2
- H1 O16 B10 B11
- inverse-velocity
- tracklength
-
-
- 207 2
- total
- flux
- tracklength
-
- 207 2
+ 211 2 5
H1 O16 B10 B11
- prompt-nu-fission
- tracklength
+ scatter
+ analog
- 207 2
- total
- flux
- analog
-
-
- 207 2 5
- H1 O16 B10 B11
- prompt-nu-fission
- analog
-
-
- 207 2
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
- total
+ scatter
+ tracklength
+
+
+ 211 2 5 30
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 211 2
+ total
+ flux
tracklength
- 207 2
- total
- flux
- analog
+ 211 2
+ H1 O16 B10 B11
+ scatter
+ tracklength
- 207 5 6
+ 211 2 5 30
H1 O16 B10 B11
scatter
analog
- 207 2
- total
- flux
- tracklength
-
-
- 207 2
- H1 O16 B10 B11
- total
- tracklength
-
-
- 207 2
- total
- flux
- analog
-
-
- 207 5 6
+ 211 2 5
H1 O16 B10 B11
nu-scatter
analog
+
+ 211 54
+ H1 O16 B10 B11
+ nu-fission
+ analog
+
+
+ 211 5
+ H1 O16 B10 B11
+ nu-fission
+ analog
+
+
+ 211 54
+ H1 O16 B10 B11
+ prompt-nu-fission
+ analog
+
- 207 2
+ 211 5
+ H1 O16 B10 B11
+ prompt-nu-fission
+ analog
+
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
+ H1 O16 B10 B11
+ inverse-velocity
+ tracklength
+
+
+ 211 2
+ total
+ flux
+ tracklength
+
+
+ 211 2
+ H1 O16 B10 B11
+ prompt-nu-fission
+ tracklength
+
+
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 2 5
+ H1 O16 B10 B11
+ prompt-nu-fission
+ analog
+
+
+ 211 2
+ total
+ flux
+ tracklength
+
+
+ 211 2
+ H1 O16 B10 B11
+ total
+ tracklength
+
+
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 5 6
+ H1 O16 B10 B11
+ scatter
+ analog
+
+
+ 211 2
+ total
+ flux
+ tracklength
+
+
+ 211 2
+ H1 O16 B10 B11
+ total
+ tracklength
+
+
+ 211 2
+ total
+ flux
+ analog
+
+
+ 211 5 6
+ H1 O16 B10 B11
+ nu-scatter
+ analog
+
+
+ 211 2
+ total
+ flux
+ tracklength
+
+
+ 211 2
H1 O16 B10 B11
(n,elastic)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,level)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,2n)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,na)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,nc)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,gamma)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,a)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,Xa)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
heating
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
damage-energy
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,n1)
tracklength
-
- 207 2
+
+ 211 2
total
flux
tracklength
-
- 207 2
+
+ 211 2
H1 O16 B10 B11
(n,a0)
tracklength
-
- 207 2
+
+ 211 2
total
flux
analog
-
- 207 2 5
+
+ 211 2 5
H1 O16 B10 B11
(n,nc)
analog
-
- 207 2
+
+ 211 2
total
flux
analog
-
- 207 2 5
+
+ 211 2 5
H1 O16 B10 B11
(n,n1)
analog
-
- 207 2
+
+ 211 2
total
flux
analog
-
- 207 2 5
+
+ 211 2 5
H1 O16 B10 B11
(n,2n)
analog
diff --git a/tests/regression_tests/mgxs_library_nuclides/results_true.dat b/tests/regression_tests/mgxs_library_nuclides/results_true.dat
index c0084547b1..7825aba3fe 100644
--- a/tests/regression_tests/mgxs_library_nuclides/results_true.dat
+++ b/tests/regression_tests/mgxs_library_nuclides/results_true.dat
@@ -1 +1 @@
-d36f8abb1131212063470d622dbedeae31602da71006389421bd5dba712c94fe96acbc8ded833cb237687fb1071c1a6c3e0ec67b18ce7cf0f7720451b86d993a
\ No newline at end of file
+93ad567f1b36461a68d4ead0ff5cfa4a2003b05cf5241a232544545001a94a33fc7b99f21af277ea3a24861d38aac3a9ac36c8b1706c4b3b33caec589df2c90c
\ No newline at end of file