Skip to content
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

Random Ray First Collided Source #3011

Open
jtramm opened this issue May 20, 2024 · 1 comment
Open

Random Ray First Collided Source #3011

jtramm opened this issue May 20, 2024 · 1 comment
Assignees

Comments

@jtramm
Copy link
Contributor

jtramm commented May 20, 2024

The current fixed source random ray solver implementation in OpenMC (via #2829 and #2988) only allows for user definition of volumetric sources. If other types of sources are needed for a particular simulation (e.g., point sources), they currently must be approximated as a (small) volumetric source. This results in several issues. The first issue is simply error stemming from such approximations. The second issue is that very small volumetric sources generate significant inefficiencies for the random ray method, as rays are sampled from a uniform distribution in space and angle, such that only a small proportion is likely to pass through a small source region. If the volumetric source is very large then this is not an issue, but if a tiny volumetric source is used so as to reduce the error when approximating a point source, then the simulation can become extremely expensive as very few rays will be contributing useful information about the system.

To greatly improve numerical performance, and to reduce error, we propose to add a preprocessing stage to the solver where any number of user-defined sources (including point sources) can be converted to a global first-collided volumetric source term. This stage works by performing a fast transport of rays starting from the sources (which is a little different numerically than random ray), but only recording their contribution to first collided sources in each region they pass through. Then, in the normal random ray transport solve, the user-input sources are discarded, and the global volumetric first collided fixed source term is used instead. This basic idea is not new and has been used extensively in other transport solvers, so we believe its implementation should be straightforward in the OpenMC random ray solver. The preprocessing stage is expected to be relatively inexpensive compared to the normal random ray solver stage that is responsible for iteratively converging the more complex scattering source, and will likely result in a multifold improvement in speed and accuracy for problems that have highly localized user fixed source terms.

@tpaganin
Copy link

I'm working on this issue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In progress
Development

No branches or pull requests

2 participants