openmc.deplete.helpers.FissionYieldCutoffHelper

class openmc.deplete.helpers.FissionYieldCutoffHelper(chain_nuclides, n_bmats, cutoff=112.0, thermal_energy=0.0253, fast_energy=500000.0)[source]

Helper that computes fission yields based on a cutoff energy

Tally fission rates above and below the cutoff energy. Assume that all fissions below cutoff energy have use thermal fission product yield distributions, while all fissions above use a faster set of yield distributions.

Uses a limit of 20 MeV for tallying fission.

Parameters:
  • chain_nuclides (iterable of openmc.deplete.Nuclide) – Nuclides tracked in the depletion chain. All nuclides are not required to have fission yield data.
  • n_bmats (int, optional) – Number of burnable materials tracked in the problem
  • cutoff (float, optional) – Cutoff energy in [eV] below which all fissions will be use thermal yields. All other fissions will use a faster set of yields. Default: 112 [eV]
  • thermal_energy (float, optional) – Energy of yield data corresponding to thermal yields. Default: 0.0253 [eV]
  • fast_energy (float, optional) – Energy of yield data corresponding to fast yields. Default: 500 [kev]
Variables:
  • n_bmats (int) – Number of burnable materials tracked in the problem. Must be set prior to generating tallies
  • thermal_yields (dict) – Dictionary of the form {parent: {product: yield}} with thermal yields
  • fast_yields (dict) – Dictionary of the form {parent: {product: yield}} with fast yields
  • 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 (numpy.ndarray) – Array of fission rate fractions with shape (n_mats, 2, n_nucs). results[:, 0] corresponds to the fraction of all fissions that occured below cutoff. The number of materials in the first axis corresponds to the number of materials burned by the openmc.deplete.Operator
classmethod from_operator(operator, **kwargs)[source]

Construct a helper from an operator

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

Parameters:
  • operator (openmc.deplete.Operator) – Operator with a chain and burnable materials
  • kwargs – Additional keyword arguments to be used in construction
Returns:

Return type:

FissionYieldCutoffHelper

generate_tallies(materials, mat_indexes)[source]

Use C API to produce a fission rate tally in burnable materials

Include a openmc.lib.EnergyFilter to tally fission rates above and below cutoff energy.

Parameters:
  • 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()[source]

Obtain fast and thermal fission fractions from tally

weighted_yields(local_mat_index)[source]

Return fission yields for a specific material

For nuclides with both yield data above and below the cutoff energy, the effective yield for nuclide A will be a weighted sum of fast and thermal yields. The weights will be the fraction of A fission events in the above and below the cutoff energy.

If A has fission product distribution F for fast fissions and T for thermal fissions, and 70% of A fissions are considered thermal, then the effective fission product yield distributions for A is 0.7 * T + 0.3 * F

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}}
Return type:collections.defaultdict