armi.nuclearDataIO.cccc.dlayxs module

Module to read DLAYXS files, which contain delayed neutron precursor data, including decay constants and emission spectra.

Similar to ISOTXS files, DLAYXS files are often created by a lattice physics code such as MC2 and used as input to a global flux solver such as DIF3D.

This module implements reading and writing of the DLAYXS, consistent with [CCCC-IV].

class armi.nuclearDataIO.cccc.dlayxs.DelayedNeutronData(numEnergyGroups, numPrecursorGroups)[source]

Bases: object

Container of information about delayed neutron precursors.

This info should be enough to perform point kinetics problems and to compute the delayed neutron fraction.

This object represents data related to either one nuclide (as read from a data library) or an average over many nuclides (as computed after a delayed-neutron fraction calculation).

For a problem with P precursor groups and G energy groups, delayed neutron precursor information includes the three attributes of this class listed below.

Variables:
  • precursorDecayConstants (array) – This is P-length list of decay constants in (1/s) that characterize the decay rates of the delayed neutron precursors. When a precursor decays, it emits a delayed neutron.

  • delayEmissionSpectrum (array) –

    fraction of delayed neutrons emitted into each neutron energy group from each precursor family

    This is a PxG matrix The emission spectrum from the first precursor group is delayEmissionSpectrum[0,:]. Aka delayed-chi

    delayNeutronsPerFissionarray

    The multigroup number of delayed neutrons released per decay for each precursor group. Note that this is equivalent to the number of delayed neutron precursors produced per fission in each family and energy group. Structure is identical to delayEmissionSpectrum. Aka delayed- nubar.

armi.nuclearDataIO.cccc.dlayxs.compare(lib1, lib2)[source]

Compare two XSLibraries, and return True if equal, or False if not.

armi.nuclearDataIO.cccc.dlayxs.readBinary(fileName)[source]

Read a binary DLAYXS file into an Dlayxs object.

armi.nuclearDataIO.cccc.dlayxs.readAscii(fileName)[source]

Read an ASCII DLAYXS file into an Dlayxs object.

armi.nuclearDataIO.cccc.dlayxs.writeBinary(delay, fileName)[source]

Write the DLAYXS data from an Dlayxs object to a binary file.

armi.nuclearDataIO.cccc.dlayxs.writeAscii(delay, fileName)[source]

Write the DLAYXS data from an Dlayxs object to an ASCII file.

class armi.nuclearDataIO.cccc.dlayxs.Dlayxs(*args, **kwargs)[source]

Bases: OrderedDict

Contains DLAYXS file information according to CCCC specification.

This object contains nuclide-dependent delayed neutron data. Each nuclide is represented with its own DelayedNeutronData object.

Keys are nuclideBases objects. It’s an ordered dictionary to maintain order of file that was read in.

Module that use delayed neutron data should expect a DelayedNeutronData object as input. If you want an average over all nuclides, then you need to produce it using the properly-computed average contributions of each nuclide.

Variables:
  • nuclideFamily (dict) – There are a number of delayed neutron “families”, which in the ideal case would be numFamilies = numNuclides * numPrecursorGroups. Since some nuclides do not have their own data (like Pu242), the nuclide shares data with other nuclides. This mapping is done via the nuclideFamilies attribute.

  • numPrecursorGroups (int) – number of delayed neutron precursor groups, each with independent decay constants and emission spectra

  • neutronEnergyUpperBounds (array) – upper bounds in eV

  • nuclideContributionFractions (dict) – Fractions of beta due to each nuclide. Needed for making composition-dependent averages of delayed neutron data. This is dependent on beta-effective at some reactor state. Must therefore be computed during beta calculation

See also

armi.physics.safety.perturbationTheory.PerturbationTheoryInterface.calculateBeta

computes nuclide contributions

property G

Number of energy groups.

generateAverageDelayedNeutronConstants()[source]

Use externally-computed nuclideContributionFractions to produce an average DelayedNeutronData object.

Solves typical averaging equation but weights already sum to 1.0 so we can skip normalization at the end.

class armi.nuclearDataIO.cccc.dlayxs.DlayxsIO(fileName, fileMode, dlayxs)[source]

Bases: Stream

Contains DLAYXS read/writers.

readWrite()[source]

Read and write DLAYXS files.