Real-geometry deterministic transport (1D spherical Sn) for MGXS weighting - #116
Real-geometry deterministic transport (1D spherical Sn) for MGXS weighting#116jon-proximafusion wants to merge 4 commits into
Conversation
Supersedes the 1D-slab prototype (#114): solve the deterministic transport in the ACTUAL reference geometry (concentric spheres, central source) -> 1D spherical Sn, so the near-source shells get the correct (harder) flux instead of the slab's over-softened backscatter. Each material collapsed against its own shell's local flux. No Monte Carlo. Goal: beat slab everywhere incl. the near-source metals.
…ivity open) sphere_sn.py: weighted-diamond curvilinear Sn, central point source, VALIDATED vs analytic point-source-in-absorber (0.9% mean). det_realgeom.py: uses it for the real concentric-sphere geometry. OPEN: diamond negativity on the resonant problem (steel 7.37; naive clamp breaks conservation) -> needs positivity-preserving curvilinear scheme (step characteristic). Deep materials already won by the slab transport (#114); spherical only needed for near-source shells where NR is already excellent. See FINDING_realgeom.md.
alpha_{m+1/2}>=0 (tent) => step (upwind space+angle) is unconditionally positive.
scheme='step' (default) in sphere_sn.py; validated (1.2% vs analytic, positive flux).
Fixes the diamond negativity on the resonant stack: tungsten 2.13 (beats slab 2.56),
Fe-56 1.08 (beats slab 1.39); but step's 1st-order diffusivity hurts steel/CuCrZr.
Next: diamond + negative-flux fixup for accuracy + positivity. See FINDING_realgeom.md.
Set-to-zero & re-solve; validated best on smooth (0.74% vs diamond 0.89, step 1.17), positive flux. BUT on the resonant stack the set-to-zero clamp accumulates more error than step (Fe-56 2.06 vs step 1.08) -- many resonance negativities. Conclusion: no spherical scheme beats the robust 1D-slab transport (#114, Fe-56 0.60) on deep resonant materials; spherical only helps near-source. Recommend the #113+#114+NR-near-source hybrid. See FINDING_realgeom.md.
diamond + negative-flux fixup added — but step is better on resonances; spherical doesn't beat the slab transportImplemented Smooth validation (point source in absorber): fixup 0.74% mean (best — diamond 0.89, step 1.17), positive flux. So as a general solver it's accurate + positive. But on the resonant stack it's worse than step (Fe-56 total 2.06 vs step 1.08): at the many resonance negativities, the set-to-zero clamp accumulates more error than step's consistent upwinding. Per-material, CCFE-709 (total %err vs material_wise):
Conclusion: a correct-geometry spherical Sₙ does not outperform the simpler, robust 1D-slab transport (#114) on the deep resonant materials (Fe-56 0.60 vs 1.08) — the central source + resonance negativity make spherical numerically harder, and the positive schemes (step/fixup) are too diffusive/clamp-lossy. Its only clear gain is the near-source shell (tungsten 2.13 vs slab-method 2.56), where NR is already excellent. Recommended path: #113 (NR, geometry-free default) + #114 (1D-slab transport + thermal-NR fallback) for the deep cross-talk materials (Fe-56 total 0.60 / scatter 0.69, both beat slab) + NR for near-source. A uniform high-accuracy positive spherical solver needs more advanced numerics (characteristic/CN) — diminishing returns vs this hybrid. |
Real-geometry deterministic transport: solve the flux in the ACTUAL reference geometry (concentric shells + central source) via 1D spherical Sn, then collapse each material against its own shell's local flux. No Monte Carlo.
Status: spherical Sn solver validated vs analytic point-source-in-absorber (0.9% mean). Open: diamond-difference negativity on the resonant problem -> adding a positivity-preserving curvilinear scheme (step characteristic). See FINDING_realgeom.md.
Supersedes the 1D-slab prototype (#114) for the near-source shells.
🤖 Generated with Claude Code