# openmc.deplete.helpers.AveragedFissionYieldHelper¶

class openmc.deplete.helpers.AveragedFissionYieldHelper(chain_nuclides)[source]

Class that computes fission yields based on average fission energy

Computes average energy at which fission events occured with

$\bar{E} = \frac{ \int_0^\infty E\sigma_f(E)\phi(E)dE }{ \int_0^\infty\sigma_f(E)\phi(E)dE }$

If the average energy for a nuclide is below the lowest energy with yield data, that set of fission yields is taken. Conversely, if the average energy is above the highest energy with yield data, that set of fission yields is used. For the case where the average energy is between two sets of yields, the effective fission yield computed by linearly interpolating between yields provided at the nearest energies above and below the average.

Parameters

chain_nuclides (iterable of openmc.deplete.Nuclide) – Nuclides tracked in the depletion chain. All nuclides are not required to have fission yield data.

Variables
• constant_yields (collections.defaultdict) – Fission yields for all nuclides that only have one set of fission yield data. Dictionary of form {str: {str: float}} representing yields for {parent: {product: yield}}. Default return object is an empty dictionary

• results (None or numpy.ndarray) – If tallies have been generated and unpacked, then the array will have shape (n_mats, n_tnucs), where n_mats is the number of materials where fission reactions were tallied and n_tnucs is the number of nuclides with multiple sets of fission yields. Data in the array are the average energy of fission events for tallied nuclides across burnable materials.

classmethod from_operator(operator, **kwargs)[source]

Return a new helper with data from an operator

All keyword arguments should be identical to their counterpart in the main __init__ method

Parameters
• operator (openmc.deplete.TransportOperator) – Operator with a depletion chain

• kwargs – Additional keyword arguments to be used in construction

Returns

Return type

AveragedFissionYieldHelper

generate_tallies(materials, mat_indexes)[source]

Construct tallies to determine average energy of fissions

Parameters
unpack()[source]

Unpack tallies and populate results with average energies

update_tally_nuclides(nuclides)[source]

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

tuple of str

Raises

AttributeError – If tallies not generated

weighted_yields(local_mat_index)[source]

Return fission yields for a specific material

Use the computed average energy of fission events to determine fission yields. If average energy is between two sets of yields, linearly interpolate bewteen the two. Otherwise take the closet set of yields.

Parameters

local_mat_index (int) – Index for specific burnable material. Effective yields will be produced using self.results[local_mat_index]

Returns

library – Dictionary of {parent: {product: fyield}}. Default return value is an empty dictionary

Return type

collections.defaultdict