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
Finite volume interface kernels for porosity jumps, contact, .. #17087
Comments
@GiudGiud the way I handled this for CNSFV was to apply the divergence theorem to the epsilon * grad_pressure term. The resulting epsilon*pressure should be much smoother so I just use the same epsilon-pressure |
Although the math is not quite right on that, is it... |
Actually the math is good as long as epsilon doesn't have a gradient within a cell. If it does, then you would need an additional term: -\int Ip * \nabla \epsilon dV The problem is in implementation...we know that Green-Gauss computations of either grad_p or grad_eps will be problematic near interfaces where both p and eps are discontinuous |
What do you do at boundaries then? Is that kernel executed on boundaries? I think Paolo wanted to have the option to define a form loss coefficient too. We dont need grad_eps for this term? |
But at least in the case of epsilon it will almost always be constant within cells or at worst have a user-prescribed function within a cell whose gradient is clearly defined...e.g. we wouldn't have to do Green-Gauss with information from discontinuous faces |
Yes in general this
In this case we would want a
Which term? |
The momentum pressure term. |
Reason
For many different physics, we do not want to resolve sharp transitions at interfaces with the mesh, and would rather introduce a discontinuity that captures this transition.
Design
A kernel that only contributes to the residual on faces that belong to an interface.
There will probably be many similarities to FVFluxKernels, which only act on (all element's) faces.
Impact
Huge boost to finite volume modeling of nuclear reactors
The text was updated successfully, but these errors were encountered: