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

Add an auxkernel to calculate tally gradients with finite differences #1031

Open
nuclearkevin opened this issue Jan 17, 2025 · 0 comments
Open

Comments

@nuclearkevin
Copy link
Contributor

Reason

AMR is often driven by gradients in field variables. However, traditional mesh tallies score constants within each element which don't have well-defined gradients. This necessitates the use of a gradient approximation, either with finite differences or a functional expansion/projection. At present MOOSE doesn't contain methods to approximate the gradients of CONSTANT MONOMIAL field variables, and so we need to roll our own to feed into gradient jump / magnitude indicators.

Design

The finite difference gradient estimate can be performed using the approach outlined in K. N. Stolte and P. V. Tsvetkov, X-MeRA: Computationally efficient adaptive mesh refinement of Monte Carlo mesh based tallies, Annals of Nuclear Energy, Volume 182, 2023. The gradient approximation should be done in an auxkernel to maximize flexibility.

Impact

The addition of a FDTallyGradAux allows for the approximation of CONSTANT MONOMIAL tally gradients with finite differences, which can then be fed into indicators used for AMR. This adds another capability to Cardinal for performing AMR on OpenMC unstructured mesh tallies.

@nuclearkevin nuclearkevin converted this from a draft issue Jan 17, 2025
nuclearkevin added a commit to nuclearkevin/cardinal that referenced this issue Jan 17, 2025
nuclearkevin added a commit to nuclearkevin/cardinal that referenced this issue Jan 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Error Indicators
Development

No branches or pull requests

1 participant