Uh oh!
There was an error while loading. Please reload this page.
Add photon multigroup cross section generation - #4073
Conversation
How is this feature used with delayed gamma scaling? By using only one PhotonProductionMatrixMGXS we cannot use keff scaling and we need to keep track of if delayed gammas were used in the library. We might want to separate PhotonProductionMatrixMGXS into PhotonProductionMatrixMGXS, PromptFissionPhotonProductionMatrixMGXS and DelayedFissionPhotonProductionMatrixMGXS to support the two use cases. Alternatively, if we only care about generating weight windows the consistent energy balance and delayed gamma scaling should not be that important. |
shimwell
commented
Aug 24, 2026
Linking to this issue #3489 |
paulromano
commented
Aug 29, 2026
@GuySten Thanks for raising this. This PR is intentionally limited to photon-only transport and generates the photon-to-photon transfer matrix, including secondary photons from normal photon interactions, TTB, and atomic relaxation. It's not intended to handle coupled neutron-photon transport. To make that distinction clearer, I renamed the class from |
Description
In anticipation of supporting photon random-ray workflows, this PR makes two important updates to multigroup cross section generation: 1) it makes multigroup cross section libraries particle-aware through a
particle_typeargument, and 2) it adds aPhotonProductionMatrixMGXSclass for representing the photon production cross section needed for deterministic photon transport.For photon libraries, the existing "nu-scatter matrix" quantity represents the expected outgoing photon production matrix. It combines the coherent or incoherent surviving primary photon with secondary photons from atomic relaxation, thick-target bremsstrahlung, and positron annihilation. Photon yield is folded directly into the matrix because a multiplicity defined by dividing production by physical scattering is undefined for reactions that remove the incident photon while producing secondaries.
Checklist