armi.nuclearDataIO.xsNuclides module
This module contains cross section nuclides, which are a wrapper around the
INuclide
objects. The cross section nuclide objects
contain cross section information from a specific calculation (e.g. neutron, or gamma cross sections).
XSNuclide
objects also contain meta data from the original file, so that another file
can be reconstructed.
Warning
XSNuclide
objects should only be created by reading data into
XSLibrary
objects, and then retrieving them through their label
index (i.e. “PU39AA”).
- class armi.nuclearDataIO.xsNuclides.XSNuclide(xsCollection, xsCollectionKey)[source]
Bases:
NuclideWrapper
A nuclide object for a specific library.
XSNuclide objects can contain GAMISO, ISOTXS, and PMATRX data all on a single instance.
- updateBaseNuclide()[source]
Update which nuclide base this
XSNuclide
points to.Notes
During instantiation, not everything is available, only they user-supplied nuclide label, i.e.
containerKey
. During the read operation,
- getMicroXS(interaction, group)[source]
Returns the microscopic xs as the ISOTXS value if it exists or a 0 since it doesn’t.
- getXS(interaction)[source]
Get the cross section of a particular interaction.
See also
armi.nucDirectory.homogRegion.getXS
- buildNormalizedScatterColumns(scatterMatrixKey)[source]
Build normalized columns of a scatter matrix.
the vectors represent all scattering out of each group. The rows of the scatter matrix represent in-scatter and the columns represent out-scatter. So this sums up the columns.
- Returns:
scatterWeights – keys are fromG indices, values are sparse matrix columns (size: Gx1) containing normalized columns of the scatter matrix.
- Return type:
- property trans
Get the transmutations for this nuclide.
Notes
This is a property wrapper around the base nuclide’s
trans
attribute
- property decays
Get the decays for this nuclide.
Notes
This is a property wrapper around the base nuclide’s
decays
attribute
- merge(other)[source]
Merge the attributes of two XSNuclides.
- Parameters:
other (armi.nuclearDataIO.xsNuclides.XSNuclide) – The other nuclide to merge information.
Notes
The merge is really more like “cannibalize” in that the object performing the merge takes on the attributes of the
other
. It isn’t necessary to create new objects for the newly merged attributes, because the 99% usage is only used during runtime, where the second XSNuclide, and it’s container (e.g. ISTOXS, GAMISO, etc.) are discarded after the merge.