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.