You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: