From baecead5da7c2dc3507107b5d624fc05e4af7273 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Fri, 17 Jul 2020 14:19:49 -0500 Subject: [PATCH] Start creating SourceRateHelper --- openmc/deplete/helpers.py | 12 ++++++++++-- openmc/deplete/operator.py | 6 ++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/openmc/deplete/helpers.py b/openmc/deplete/helpers.py index 204a214256..b52b32ce80 100644 --- a/openmc/deplete/helpers.py +++ b/openmc/deplete/helpers.py @@ -18,8 +18,8 @@ from .abc import ( TalliedFissionYieldHelper) __all__ = ( - "DirectReactionRateHelper", "ChainFissionHelper", - "ConstantFissionYieldHelper", "FissionYieldCutoffHelper", + "DirectReactionRateHelper", "ChainFissionHelper", "EnergyScoreHelper" + "SourceRateHelper", "ConstantFissionYieldHelper", "FissionYieldCutoffHelper", "AveragedFissionYieldHelper") # ------------------------------------- @@ -205,6 +205,14 @@ class EnergyScoreHelper(NormalizationHelper): if comm.rank == 0: self._energy = self._tally.results[0, 0, 1] + +class SourceRateHelper(NormalizationHelper): + def prepare(self, *args, **kwargs): + pass + + def factor(self, source_rate): + return source_rate + # ------------------------------------ # Helper for collapsing fission yields # ------------------------------------ diff --git a/openmc/deplete/operator.py b/openmc/deplete/operator.py index d6acd20394..499738e8c5 100644 --- a/openmc/deplete/operator.py +++ b/openmc/deplete/operator.py @@ -26,7 +26,8 @@ from .reaction_rates import ReactionRates from .results_list import ResultsList from .helpers import ( DirectReactionRateHelper, ChainFissionHelper, ConstantFissionYieldHelper, - FissionYieldCutoffHelper, AveragedFissionYieldHelper, EnergyScoreHelper) + FissionYieldCutoffHelper, AveragedFissionYieldHelper, EnergyScoreHelper, + SourceRateHelper) __all__ = ["Operator", "OperatorResult"] @@ -238,13 +239,14 @@ class Operator(TransportOperator): # Get classes to assist working with tallies self._rate_helper = DirectReactionRateHelper( self.reaction_rates.n_nuc, self.reaction_rates.n_react) + if normalization_mode == "fission-q": self._normalization_helper = ChainFissionHelper() elif normalization_mode == "energy-deposition": score = "heating" if settings.photon_transport else "heating-local" self._normalization_helper = EnergyScoreHelper(score) else: - self._normalization_helper = ... + self._normalization_helper = SourceRateHelper() # Select and create fission yield helper fission_helper = self._fission_helpers[fission_yield_mode]