armi.nucDirectory.transmutations module
This module contains the definition of Transmutation and Decay classes.

The mappings between active nuclides during transmutation and decay are described in a
burn-chain.yaml file pointed to by the burnChainFileName
setting. This file contains one entry per nuclide that can transmute or decay that
look similar to the example below:
U238:
- nuSF: 2.0000
- transmutation:
branch: 1.0
products:
- NP237
type: n2n
- transmutation:
branch: 1.0
products:
- LFP38
type: fission
- transmutation:
branch: 1.0
products:
- NP239
- PU239
type: nGamma
- decay:
branch: 5.45000e-07
halfLifeInSeconds: 1.4099935680e+17
products:
- LFP38
type: sf
This example defines 3 transmutations (an (n,2n) reaction, an (n,fission) reaction, an
(n,gamma)`` reaction), and a spontaneous fission decay reaction with a very low branching
ratio. Valid reaction type values are listed in Transmutation
and DecayMode.
The branch entry determines the fraction of the products of a given reaction that will end up
in a particular product. The branches must never sum up to anything other than 1.0.
The products entry is a list, but only one entry will be the actual product. The list defines
a preference order. For example, if NP239 is being tracked as an active nuclide in the problem
it will be the product of the nGamma reaction above. Otherwise, U238 will transmute directly
to the alternate product, PU239.
Warning
If you track very short-lived decays explicitly then the burn matrix becomes very ill-conditioned and numerical solver issues can result. Specialized matrix exponential solvers (e.g. CRAM [1]) are required to get adequate solutions in these cases [2].
The example above also defines a nuSF item, which is how many neutrons are emitted per spontaneous
fission. This is used for intrinsic source term calculations.
- [1] Pusa, Maria, and Jaakko Leppanen. “Computing the matrix exponential in burnup calculations.”
Nuclear science and engineering 164.2 (2010): 140-150.
- [2] Moler, Cleve, and Charles Van Loan. “Nineteen dubious ways to compute the exponential of a matrix.”
SIAM review 20.4 (1978): 801-836.
- class armi.nucDirectory.transmutations.Transmutable(parent, dataDict)[source]
Bases:
objectTransmutable base class.
- Variables:
parent (NuclideBase) – The parent nuclide in this reaction.
type (str) – The type name of reaction (e.g.
n2n,fission, etc.)productNuclides (list) – The names of potential product nuclides of this reaction, in order of preference. Multiple options exist to allow the library to specify a transmutation to one nuclide if the user is modeling that nuclide, and other ones as fallbacks in case the user is not tracking the preferred product. Only one of these products will be created.
productParticle (str) – The outgoing particle of this reaction. Could be HE4 for n,alpha, etc. Default is None.
branch (float) – The fraction of the time that this transmutation occurs. Should be between 0 and 1. Less than 1 when a decay or reaction can branch between multiple productNuclides. Do not make this >1 to get more than one product because it scales the reaction cross section which will double-deplete the parent.
Notes
These are used to link two
NuclideBaseobjects through transmutation or decay.See also
- getPreferredProduct(libraryNucNames)[source]
Get the index of the most preferred transmutation product/decay daughter.
Notes
The ARMI burn chain is not a full burn chain. It short circuits shorter half-lives, and uses lumped nuclides as catch-all objects for things that just sit around. Consequently, the “preferred” product/daughter may not be actual physical product/daughter.
- class armi.nucDirectory.transmutations.Transmutation(parent, dataDict)[source]
Bases:
TransmutableA transmutation from one nuclide to another.
Notes
The supported transmutation types include:
\(n,2n\)
\(n,fission\)
\(n,\gamma\) (
nGamma)\(n,\alpha\) (
nalph)\(n,p\) (proton) (
np)\(n,d\) (deuteron) (
nd)\(n,t\) (triton) (
nt)
- class armi.nucDirectory.transmutations.DecayMode(parent, dataDict)[source]
Bases:
TransmutableDefines a decay from one nuclide to another.
Notes
The supported decay types are also all transmutations, and include:
\(\beta^-\) (
bmd)\(\beta^+\) (
bpd)\(\alpha\) (
ad)Electron capture (
ec)Spontaneous fission (
sf)
Of note, the following are not supported:
Internal conversion
Gamma decay