-
Notifications
You must be signed in to change notification settings - Fork 526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for depletion with photon transport turned on #1595
Fix for depletion with photon transport turned on #1595
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a small documentation fix, otherwise everything works as expected! Thanks @paulromano.
- Ilham Variansyah, Benjamin R. Betzler, and William R. Martin, "`Multigroup | ||
Constant Calculation with Static :math:`\alpha`\ -Eigenvalue Monte Carlo for | ||
Time-Dependent Neutron Transport Simulation | ||
<https://doi.org/10.1080/00295639.2020.1743578>`_", *Nucl. Sci. Eng.*, 2020. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This link won't render correctly because of the nested backquotes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pointing that out! Just fixed it
This PR fixes #1585. Depletion relies on the
openmc_load_nuclide
C API call, and currently this function only loads incident neutron data. I've changed it so that it will now load photoatomic data as well. I've also refactored things a bit to improve the structure:cross_sections.cpp
now usesopenmc_load_nuclide
as well to reduce redundant codenuclide_map
andelement_map
is handled inside of theNuclide
andPhotonInteraction
constructorssimulation_init
rather than when cross sections are loadeddata::element
was set up as a vector ofPhotonInteraction
objects rather than pointers. This means that apush_back
could result in all the photon data being copied. I've changed it to a vector ofunique_ptr
so that only pointers need to be copy upon a vector resize.