Summary
Provide a general way to build one multigroup cross section library by combining the outputs of more than
one convert_to_multigroup method, so each domain uses the most appropriate method. The immediate
motivation is a robust base plus a higher-fidelity refinement, but the mechanism should be general:
combine any MGXS with any MGXS.
Motivation
The MGXS generation methods have complementary strengths, and no single one is best everywhere:
material_wise and cell_wise: high fidelity where Monte Carlo tallies exist, but produce zero cross
sections for any domain the Monte Carlo never reaches (deep shielding). Zero total cross sections then
crash a downstream random ray or transport solve. cell_wise makes this common, because a deep region
split into cells leaves many cells unreached.
stochastic_slab: produces data for all materials, but has no spatial resolution and carries Monte
Carlo noise.
- A deterministic narrow-resonance plus self-shielding collapse (proposed separately) produces a valid
cross section for every material and group, noise free and geometry independent, but is spatial-spectrum
limited (one weighting flux per material).
A common practical need is to combine them: use a valid-everywhere method as a base or floor, and override
it per domain with a higher-fidelity method wherever that method has good data.
Proposed capability
A general mechanism to combine MGXS libraries. Possible shapes (to be decided):
- A library-level utility that layers libraries: a base library supplies a fallback for every domain,
overridden per domain by one or more refinement libraries where those have valid data.
- Or a
convert_to_multigroup option that takes an ordered list of methods and combines them the same way.
Design questions:
- How to decide a domain is valid in a given library (nonzero flux, a relative-error threshold, or an
explicit mask).
- Granularity mismatch, for example a per-cell refinement layered on a per-material base: the base value
for a cell is looked up by the cell material.
- There is no built-in merge or override in
MGXSLibrary today (only add_xsdata and get_by_name), so
this needs new logic.
- Keep the API minimal.
Motivating example
Deterministic narrow-resonance plus self-shielding as the floor, refined by cell_wise on top: per-cell
fidelity where the Monte Carlo reaches, valid noise-free data everywhere else, and never a zero cross
section crash.
Related work
Notes
The general combine utility is independent of any one method and would work with the existing methods too.
Summary
Provide a general way to build one multigroup cross section library by combining the outputs of more than
one
convert_to_multigroupmethod, so each domain uses the most appropriate method. The immediatemotivation is a robust base plus a higher-fidelity refinement, but the mechanism should be general:
combine any MGXS with any MGXS.
Motivation
The MGXS generation methods have complementary strengths, and no single one is best everywhere:
material_wiseandcell_wise: high fidelity where Monte Carlo tallies exist, but produce zero crosssections for any domain the Monte Carlo never reaches (deep shielding). Zero total cross sections then
crash a downstream random ray or transport solve.
cell_wisemakes this common, because a deep regionsplit into cells leaves many cells unreached.
stochastic_slab: produces data for all materials, but has no spatial resolution and carries MonteCarlo noise.
cross section for every material and group, noise free and geometry independent, but is spatial-spectrum
limited (one weighting flux per material).
A common practical need is to combine them: use a valid-everywhere method as a base or floor, and override
it per domain with a higher-fidelity method wherever that method has good data.
Proposed capability
A general mechanism to combine MGXS libraries. Possible shapes (to be decided):
overridden per domain by one or more refinement libraries where those have valid data.
convert_to_multigroupoption that takes an ordered list of methods and combines them the same way.Design questions:
explicit mask).
for a cell is looked up by the cell material.
MGXSLibrarytoday (onlyadd_xsdataandget_by_name), sothis needs new logic.
Motivating example
Deterministic narrow-resonance plus self-shielding as the floor, refined by
cell_wiseon top: per-cellfidelity where the Monte Carlo reaches, valid noise-free data everywhere else, and never a zero cross
section crash.
Related work
related composition approach that reaches deep materials via variance reduction rather than by combining
libraries.
cell_wisemethod.Notes
The general combine utility is independent of any one method and would work with the existing methods too.