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:

dict

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.

armi.nuclearDataIO.xsNuclides.plotScatterMatrix(scatterMatrix, scatterTypeLabel='', fName=None)[source]

Plots a matrix to show scattering.

armi.nuclearDataIO.xsNuclides.plotCompareScatterMatrix(scatterMatrix1, scatterMatrix2, fName=None)[source]

Compares scatter matrices graphically between libraries.