openmc-dev / openmc

OpenMC Monte Carlo Code
https://docs.openmc.org
Other
776 stars 504 forks source link

Random Ray Linear Source #3010

Closed jtramm closed 4 months ago

jtramm commented 6 months ago

In the random ray method, the particle flux is treated continuously in space and angle. However, in the current random ray implementation in OpenMC, any scattering or fixed sources are typically assumed to be constant (flat) within a mesh cell. Error stemming from this approximation to the source term can be mitigated by reducing the size of mesh cells.

Thus, to maintain accuracy, the #2832 will allow the user to specify cell-, universe-, or material-wise meshes to subdivide user input geometry into smaller flat source regions (i.e., a "cell-under-voxel" approach. From the user perspective, this subdivision is intended to be easily done in just a few lines of added code to an existing Monte Carlo geometry input deck, but can raise the cost of the computation if a fine mesh is needed to accurately represent steep source gradients.

To this end, previous work implementing linear sources in the random ray solver in the SCONE code has shown that a much coarser mesh can be used when sources are assumed to take a higher-order form, typically linear, allowing for significant overall computational time savings and accuracy improvements. As the mathematics and practical implementation aspects of this feature are already well understood, I believe this feature should be straightforward to implement, and will likely result in a multifold improvement in the speed and accuracy of the solver.

RufusN commented 5 months ago

I'm working on implementing this

jtramm commented 4 months ago

Closed by #3072