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 belowcutoff
. The number of materials in the first axis corresponds to the number of materials burned by theopenmc.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__
methodParameters: - operator (openmc.deplete.Operator) – Operator with a chain and burnable materials
- kwargs – Additional keyword arguments to be used in construction
Returns: Return type:
-
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 inopenmc.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.
- materials (iterable of
-
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 ofA
fission events in the above and below the cutoff energy.If
A
has fission product distributionF
for fast fissions andT
for thermal fissions, and 70% ofA
fissions are considered thermal, then the effective fission product yield distributions forA
is0.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