decay¶
Half-lives, decay constants, atomic masses and alpha branching.
decay
¶
Half-lives, decay constants and atomic masses.
The vendored tables are ENDF/B-VIII.0 half-lives and AME2020 atomic masses, both
regenerated by tools/build_decay_data.py. Nothing here reaches the network.
A depletion study's own chain file can be substituted with
from_chain_xml, which matters when reproducing numbers from a
run exactly: recent OpenMC takes half-lives from the chain rather than from
ENDF, and the two disagree for some nuclides.
Classes:
-
UnknownNuclideError–Raised when a nuclide is absent from the decay data tables.
-
DecayData–Half-life and atomic mass lookups for a set of nuclides.
Functions:
-
half_life–Half-life in seconds from the default tables,
Noneif stable. -
decay_constant–Decay constant in 1/s from the default tables, zero if stable.
-
atomic_mass–Relative atomic mass in u from the default tables.
-
is_radioactive–Whether the nuclide is radioactive according to the default tables.
-
alpha_fraction–Fraction of decays proceeding by alpha emission, from the default tables.
UnknownNuclideError
¶
DecayData
¶
DecayData(half_lives: Mapping[str, float] | None = None, atomic_masses: Mapping[str, float] | None = None)
Half-life and atomic mass lookups for a set of nuclides.
Parameters:
-
(half_lives¶Mapping[str, float] | None, default:None) –Half-lives in seconds keyed by canonical nuclide name. A nuclide present in
atomic_massesbut absent here is stable. -
(atomic_masses¶Mapping[str, float] | None, default:None) –Relative atomic masses in u keyed by canonical name.
Methods:
-
from_chain_xml–Take half-lives from an OpenMC depletion chain file.
-
with_overrides–Return a copy with some half-lives replaced.
-
knows–Whether the tables cover this nuclide at all.
-
half_life–Return the half-life in seconds, or
Noneif the nuclide is stable. -
decay_constant–Return the decay constant in 1/s, zero for a stable nuclide.
-
atomic_mass–Return the relative atomic mass in u.
-
is_radioactive–Whether the nuclide has a tabulated half-life.
-
alpha_fraction–Fraction of this nuclide's decays that proceed by alpha emission.
from_chain_xml
classmethod
¶
Take half-lives from an OpenMC depletion chain file.
Parsed with the standard library, so this does not import OpenMC. Nuclides absent from the chain fall back to the vendored ENDF values, matching how OpenMC resolves a chain against its own data.
Parameters:
Returns:
-
'DecayData'–A
DecayDatausing the chain's half-lives.
with_overrides
¶
with_overrides(half_lives: Mapping[str, float]) -> 'DecayData'
half_life
¶
Return the half-life in seconds, or None if the nuclide is stable.
Raises:
-
UnknownNuclideError–If the nuclide is in neither table, so "stable" would be a guess rather than a fact.
decay_constant
¶
Return the decay constant in 1/s, zero for a stable nuclide.
atomic_mass
¶
Return the relative atomic mass in u.
A metastable state with no tabulated mass takes its ground state's. An isomer's excitation energy is at most a few MeV, under 1e-5 of the mass of even a light nuclide, which is far below the precision that matters for a mass denominator.
Raises:
-
UnknownNuclideError–If neither the nuclide nor its ground state has a tabulated mass, since a guess would corrupt the mass of the whole material and so every specific activity computed from it.
alpha_fraction
¶
Fraction of this nuclide's decays that proceed by alpha emission.
Returns 0.0 for a nuclide with no alpha branch, which includes every metastable state, since those decay by isomeric transition or beta. Bi-212, which branches 35.94 percent alpha, returns 0.3594.
half_life
¶
Half-life in seconds from the default tables, None if stable.
decay_constant
¶
Decay constant in 1/s from the default tables, zero if stable.
is_radioactive
¶
Whether the nuclide is radioactive according to the default tables.