Open GiudGiud opened 1 year ago
To add on: Schur complement field split preconditioning is much more developed for cases in which the D matrix is 0. There are some papers for Schur complement preconditioning in which there are pressure on-diagonals, but they are almost all for finite elements. So, being able to solve a system with a zero pressure on-diagonal would be good for us in terms of having effective field-split preconditioning
Reason
With average interpolation the pressure equations between neighboring cells ends up decoupled. As such a checkerboard patterns appears in the solution We could just smooth it away in our output. It has little influence over incompressible properties
Design
A new functor material that can smooth any functor. We can output it using a FunctorElementalAux auxiliary kernel Use the perks of the functor system to grab neighbor element or face values Use compile time assertions to only enable the functor arguments where it makes sense
Impact
Average interpolation helps us precondition the system easier as the diagonal of the D matrix in a FSP is 0 Average interpolation is second order on paper (hence the instability) Average interpolation does not require the computation of RC coefficients so there's less work to be done by kernels during assembly. Similarly, it holds less non-linearity (so likely should converge in less non-linear iterations) for the same reason