Abstract class for computing fission yields with tallies

Generates a basic fission rate tally in all burnable materials with generate_tallies(), and set nuclides to be tallied with update_tally_nuclides(). Subclasses will need to implement unpack() and weighted_yields().


chain_nuclides (iterable of openmc.deplete.Nuclide) – Nuclides tracked in the depletion chain. Not necessary that all have yield data.

  • constant_yields (dict of str to openmc.deplete.FissionYield) – Fission yields for all nuclides that only have one set of fission yield data. Can be accessed as {parent: {product: yield}}
  • results (None or numpy.ndarray) – Tally results shaped in a manner useful to this helper.
generate_tallies(materials, mat_indexes)[source]

Construct the fission rate tally

  • materials (iterable of openmc.lib.Material) – Materials to be used in openmc.lib.MaterialFilter
  • mat_indexes (iterable of int) – Indices of tallied materials that will have their fission yields computed by this helper. Necessary as the openmc.deplete.Operator that uses this helper may only burn a subset of all materials when running in parallel mode.

Unpack tallies after a transport run.

Abstract because each subclass will need to arrange its tally data.


Tally nuclides with non-zero density and multiple yields

Must be run after generate_tallies().

Parameters:nuclides (iterable of str) – Potential nuclides to be tallied, such as those with non-zero density at this stage.
Returns:nuclides – Union of input nuclides and those that have multiple sets of yield data. Sorted by nuclide name
Return type:list of str
Raises:AttributeError – If tallies not generated