Track Density-Weighted Average MGXS
Created by: wbinventor
This PR fixes an issue in the
MGXS.get_subdomain_avg_xs(...) method, among a few other minor bug fixes. Currently, this method will take the geometric average of the MGXS for a bunch of distribcells or mesh cells. However, the geometric average does not preserve global reactivity.
Instead, a track density-weighted (TD-weighted) average MGXS should be computed. Fortunately, this is as simple as substituting
Tally.average(...) in the
get_subdomain_avg_xs(...) method. In effect, this computes the average MGXS from tally sums which are equivalent to what one would obtain if an explicit cell or material tally were specified for the subdomains of interest. And as my thesis broadly confirms, the TD-weighted average MGXS does indeed preserve global reactivity.
I made these changes a few months ago, and ran into some issues when merging with the develop branch earlier today due to #723 and #725. As a result, this PR is likely not ready for merging - I'm not yet sure I've fixed all of the issues. I haven't been able to run my scripts which use TD-weighted MGXS since something with the new
MeshFilter is breaking when loading from a statepoint. I'll post here again once I have a chance to sort that out.