From 6735657cb33e028e647104e19859f59d6f77cf10 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Wed, 21 Aug 2019 09:45:09 -0500 Subject: [PATCH] Don't append to Tally filters on FY helpers As pointed out in https://github.com/openmc-dev/openmc/pull/1313/files#r315844775, appending to Tally.filters does not propagate to the C++ side. New filter lists are created using the previous lists, and then passed onto to the Tally.filters setter. --- openmc/deplete/helpers.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/openmc/deplete/helpers.py b/openmc/deplete/helpers.py index ced3a2523a..cc8b63c0fa 100644 --- a/openmc/deplete/helpers.py +++ b/openmc/deplete/helpers.py @@ -378,9 +378,9 @@ class FissionYieldCutoffHelper(TalliedFissionYieldHelper): in parallel mode. """ super().generate_tallies(materials, mat_indexes) - energy_filter = EnergyFilter() - energy_filter.bins = (0.0, self._cutoff, self._upper_energy) - self._fission_rate_tally.filters.append(energy_filter) + energy_filter = EnergyFilter(bins=[0.0, self._cutoff, self._upper_energy]) + self._fission_rate_tally.filters = ( + self._fission_rate_tally.filters + [energy_filter]) def unpack(self): """Obtain fast and thermal fission fractions from tally""" @@ -510,18 +510,16 @@ class AveragedFissionYieldHelper(TalliedFissionYieldHelper): """ super().generate_tallies(materials, mat_indexes) fission_tally = self._fission_rate_tally + filters = fission_tally.filters + ene_filter = EnergyFilter(bins=[0, self._upper_energy]) + fission_tally.filters = filters + [ene_filter] + + func_filter = EnergyFunctionFilter() + func_filter.set_data((0, self._upper_energy), (0, self._upper_energy)) weighted_tally = Tally() - weighted_tally.filters = fission_tally.filters weighted_tally.scores = ['fission'] - - ene_bin = EnergyFilter() - ene_bin.bins = (0, self._upper_energy) - fission_tally.filters.append(ene_bin) - - ene_filter = EnergyFunctionFilter() - ene_filter.set_data((0, self._upper_energy), (0, self._upper_energy)) - weighted_tally.filters.append(ene_filter) + weighted_tally.filters = filters + [func_filter] self._weighted_tally = weighted_tally def update_tally_nuclides(self, nuclides):