what is the basis for eliminating the local extrema during non-orthogonal correction? Are you using some sort of flux limiter function? I was unable to find your methodology in the literature. As I stated in the past I am trying to get OpenFVM to work with the neutron diffusion equation, and the elimination of local extrema during the non-orthogonal correction procedure is causing me some pain.
Thanks for your feedback.
I did this some time ago.
What the method is doing (see in gradient.c) is calculating the value at the center of each face using the newly calculated gradient and using simple central differencing approximation. Then if the value differs too much, it is correcting the gradient. However, this should be tested. This might not be the best approach.