Inclusion of spontaneous fission yields in the Bateman equation #3532
+289
−11
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the current version of OpenMC, the Bateman equation includes loss terms due to spontaneous fission (as part of the total decay rate), but does not include gain terms where fission products are created in spontaneous fission. This development introduces such gain terms and modifies classes and methods in the deplete module accordingly. This is relevant for certain applications at low power with nuclides that have a relatively high rate of spontaneous fission.
The changes in the deplete module are the following:
Furthermore, the documentation has been modified (see beginning of Sec. 3.9.3, "Energy deposition" in Sec. 4.10.1 and addition to the discussion of Chain and Nuclide in Sec. 6.4).
A few implementation choices might require discussion:
By default, spontaneous fission yields are included in the Bateman equation if the underlying chain includes them. These yields can be turned off with the flag openmc.deplete.chain.INCLUDE_SPONT_FISSION. (Of course, sponteneous fission yields are omitted if a chain from an xml file does not include spontaneous fission, or if a chain is created with from_endf without including sfy files.)
Typically, endf libraries only include sfy files for a few nuclides. Nevertheless, our implementation includes fission yields for all nuclides that have a non-zero sf branching fraction. This is done by copying spontaneous fission yields from other nuclides:
This procedure is implemented in the function replace_missing_sfy in chain.py. It should be noted that an analogous procedure is used for neutron-induced fission in replace_missing_fpy in the current version of OpenMC.
Further information can be found in the issues on my GitHub page (sigtryggur-hauksson).