openmc icon indicating copy to clipboard operation
openmc copied to clipboard

Re-enable CMFD for MG-mode

Open nelsonag opened this issue 5 years ago • 2 comments

With the transition from Fortran-based to Python-based CMFD in #1103 and #1124, the MG-mode's ability to use the CMFD method has been eliminated.

This issue is about identifying if we want to re-enable that capability or not.

nelsonag avatar Sep 25 '20 11:09 nelsonag

To kick start:

  1. The difficulties in implementing seem to be in having early access to the MG group structure at this stage in the execution. There may be something else, but I'm not sure on that. If there is nothing else, then there is no reason the Python can't read the MGXS lib to get the info upon problem initialization.
  2. The benefits of CMFD-accelerated MG transport are slim, I agree, but if one is analyzing a larger model in MG mode it could still be useful.
  3. Another benefit is of re-implementing this is that the only way to get adjoint flux information out of OpenMC right now is the meshed adjoint estimated by the CMFD solver. So the MG mode is also missing out on that capability.

Any other pros/cons to include?

nelsonag avatar Sep 25 '20 11:09 nelsonag

I am open for this change. I initially turned off MG mode for CMFD mainly to simplify the task of converting CMFD from Fortran to C++ since there didn't seem to be an immediate need for it but there isn't any reason why this change can't be reverted. Especially with merging of PR #1667 all CMFD MGXS calculations can be simplified by defining everything through the MGXS class instead of manually calculating each cross sections as a reaction rate * flux which is currently what is done in the _compute_xs routine. I am wrapping up my PhD right now so I doubt I can tackle this any time soon but I am happy to review any changes

shikhar413 avatar Oct 14 '20 21:10 shikhar413