Corrected energy normalization for mulit-group chi calculatoin

This commit is contained in:
Will Boyd 2015-09-11 16:52:36 -04:00
parent 0e8eaecf2f
commit 6d3d794c3e

View file

@ -1286,17 +1286,13 @@ class Chi(MultiGroupXS):
self._xs_tally = nu_fission_out / sum_nu_fission_in
# Compute the total across all groups per subdomain
if self.domain_type == 'distribcell':
domain_filter = self.tallies['nu-fission-in'].filters[0]
num_subdomains = domain_filter.num_bins
filter_bins = [((i,),) for i in range(num_subdomains)]
else:
filter_bins = [((self.domain,),)]
# Normalize chi to 1.0
norm = self._xs_tally.summation(filters=[self.domain_type],
filter_bins=filter_bins)
norm = self._xs_tally.summation(filters=['energyout'],
filter_bins=energy_bins)
# FIXME: CrossFilter for energy + energy messes up tally arithmetic
norm.remove_filter(sum_nu_fission_in.filters[-1])
self._xs_tally /= norm
self._xs_tally._mean = np.nan_to_num(self._xs_tally.mean)
self._xs_tally._std_dev = np.nan_to_num(self._xs_tally.std_dev)