Nucleide

Nuclear data

Nuclide identifiers, name dialects, and data sources in Nucleide.

Nucleide carries a small, self-contained set of nuclear reference data and a canonical nuclide identifier that can be translated into the naming dialects used by MCNP, Serpent, FLUKA, and other codes.

Canonical nuclide identifier

Every nuclide is stored as a single u32 called the nucid:

nucid=(Z×1000+A)×10000+S,\text{nucid} = (Z \times 1000 + A) \times 10000 + S,

where:

  • ZZ is the atomic number,
  • AA is the mass number,
  • SS is the metastable state index (00 = ground state).
NuclideZASnucidzzaaam
H-11101001000010010
U-235922350922350000922350
Am-242m952421952420001952421
Ba-137m561371561370001561371
Examples of the nucid layout.
Where this lives in the code

The identifier and dialect converters are in crates/nuclei/src/lib.rs and crates/nuclei/src/dialects.rs. Data tables live in crates/nuclei/src/data/.

Name dialects

Nucleide converts between several legacy code conventions.

DialectU-235Am-242m
GNDS / canonicalU235Am242_m1
MCNP ZAID9223595242
zzllaaam92-U-23595-Am-242m
SerpentU-235Am-242m
FLUKA235-U— (no entry)
NIST235U242Am
Cinder23509202420951
ALARAu:235am:242
SZA922351095242
Examples of name dialect conversions for U-235 and Am-242m.
Metastable quirks

MCNP swaps the meanings of Am-242 and Am-242m: 95242 maps to the metastable state and 95642 maps to the ground state. FLUKA names are looked up in a vendored table and only a subset of isotopes has an explicit entry; Am-242m is not representable.

Serpent and zzllaaam emission use m for state 1 (PyNE-compatible) and extended letters (n, o, …) for higher states; parsing accepts both cases.

Data sources

Nucleide embeds three reference tables at compile time and parses them lazily on first access.

Atomic masses

  • Source: AME2020 atomic mass evaluation (Huang et al., Chinese Physics C 45, 030002/030003, 2021)huang-2021wang-2021.
  • Coverage: 3,557 ground-state nuclides with Z1Z \geq 1.
  • File: crates/nuclei/src/data/ame2020.tsv.
  • Units: unified atomic mass units (u).

Natural abundances

  • Source: standard isotopic compositions from the ENDF/B-VIII.0 evaluationbrown-2018, expressed as fractions.
  • Coverage: 289 naturally occurring nuclides, including the isomer Ta-180m.
  • File: crates/nuclei/src/data/natural_abundance.tsv.
  • Units: fraction in [0,1][0, 1].

Half-lives

  • Source: ENDF/B-VIII.0 decay evaluations (IAEA / BNL-NNDC).
  • Coverage: 3,561 radionuclides; stable nuclides are absent.
  • File: crates/nuclei/src/data/half_life.tsv.
  • Units: seconds.

Derived quantities

Decay constant

From the half-life t1/2t_{1/2}:

λ=ln2t1/2.\lambda = \frac{\ln 2}{t_{1/2}}.

Q-values from atomic masses

Nucleide computes Q-values using AME2020 atomic masses and the neutron mass constant:

Constants

1uc2=931.49410242MeV1\,\mathrm{u}\,c^2 = 931.49410242\,\mathrm{MeV} and mn=1.00866491595um_n = 1.00866491595\,\mathrm{u}.

Neutron radiative capture

Qn,γ=[m(Z,A)+mnm(Z,A+1)]c2.Q_{n,\gamma} = \big[m(Z,A) + m_n - m(Z, A+1)\big] \, c^2.

Example: H-1(n,γ)(n,\gamma) gives Q2.2246MeVQ \approx 2.2246\,\mathrm{MeV}.

Alpha decay

Qα=[m(Z,A)m(Z2,A4)m(4He)]c2,Q_\alpha = \big[m(Z,A) - m(Z-2, A-4) - m(^4\mathrm{He})\big] \, c^2,

with m(4He)=4.00260325413um(^4\mathrm{He}) = 4.00260325413\,\mathrm{u}.

Assumptions and limitations

  • Ground-state masses only: metastable-state ids have no separate mass entry; query the ground-state id.
  • Natural elements are unrepresentable: a bare symbol such as "U" cannot be stored as a NuclideId because AZA \geq Z is required.
  • Electron binding neglected: capture Q-values use neutral atomic masses but do not correct for electron binding differences.
  • No ENSDF decay data: detailed decay schemes beyond half-life and branching ratios are out of scope.

Adjacent data capabilities found in PyNE and OpenMC that Nucleide does not embed:

  • Decay schemes: PyNE derives decay modes, branching ratios, state energies, and radiation spectra from ENSDF; OpenMC parses full decay modes from ENDF files. Nucleide carries only half-lives.
  • Fission product yields: PyNE exposes WIMSD and NDS yield tables; OpenMC reads yields into depletion chains.
  • Q-values and energy release: PyNE’s q_val and OpenMC’s FissionEnergyRelease go beyond the capture/alpha formulas here.
  • Reaction and scattering data: cross sections, thermal S(α,β), and scattering lengths are available in both codes but are outside Nucleide’s scope.
  • Natural elements: PyNE and OpenMC accept bare element symbols and compute atomic weights from abundances; Nucleide requires a mass number.
  • Living references: NuDat 3 and the IAEA LiveChart track structure and decay data between ENDF releases.

References

  1. [nucleide-nuclei]Nucleide nuclei implementationNucleide implementation (2026)