Add energy_deposition tally and update neutron functions accordingly#383
Add energy_deposition tally and update neutron functions accordingly#383ilhamv merged 34 commits intoCEMeNT-PSAAP:devfrom
Conversation
|
As discussed, the plan is to wait for the merge of #385, which reorganizes tally types by the estimator (tracklength, surface-crossing, and collision). The edep in this PR uses the collision estimator. |
|
I have completed the necessary changes and included unit and regression tests. I believe it is now ready for review, @ilhamv. FYI |
ilhamv
left a comment
There was a problem hiding this comment.
Thanks, Melek. I made commits to the PR:
- Replacing "edep" with "energy_deposition" to be more explicit
- Include the cell filter support. This should work, but needs testing, though.
- Introduce
collision_datato record key quantities from collision (like energy deposition). - Redesign the surface/collision/tracklength tally.
- Shorten the duration of edep regression test.
|
@melekderman - One other change that I think is needed: Rather than making all reactions return the total outgoing energy of the secondary neutrons, let's just feed the After that, this PR is ready to merge! |
|
Thank you for your review, Ilham! And thanks for collision data container idea because it was an open question for me regarding electron reactions as well. I will change the way recording energy deposition and let you know. |
|
@ilhamv - I refactored the |
|
Thanks, @melekderman! |
|
@melekderman - I made some more changes:
This should complete the first principle, the Q-value-based energy deposition approach that is compatible with the envisioned multi-particle transport. The planned improvement (new Issues for future PRs) includes the incorporation of the energy-dependent fission Q-value or the derived heating coefficients, "kappa" and/or "kerma". Let me know what you think. This PR is almost done! |
This pull request introduces support for tallying energy deposition ("edep") in mesh tallies. It adds the new "edep" score type, implements the logic for calculating energy deposition during neutron collisions, and ensures that energy deposition is only tallied in valid scenarios. The changes also include the necessary infrastructure to score and accumulate energy deposition results in mesh tallies.
Support for energy deposition ("edep") tallying:
SCORE_EDEPfor energy deposition toconstant.py, and integrated it into the tally score system intally.pyand related modules. [1] [2] [3] [4] [5]Implementation of energy deposition calculation:
edep_weighted) during each collision, including contributions from implicit capture, elastic/inelastic scattering, and fission. Updated the respective scattering and fission routines to return the appropriate weighted energy output for tallying. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]Scoring and tallying infrastructure:
mesh_tally_edepfunction inscore.pyto accumulate energy deposition scores in mesh tallies, including phase-space and mesh bin checks.mesh_tally_edepafter each collision when appropriate.