Dear Bruno,
Yes, I am applying ILU to the whole system, without anything else
really. I think this is relatively traditional in GLS and VMS
approaches (although I would not be able to say if that is a good or a
bad thing).
If I understand correctly, you mean formulating the problem using a
BlockMatrix and a BlockVector, then preconditioning each matrix of the
block independently?
I guess this would be best achieved using the linear operators within
deal.II right?
Yes, you would apply block vectors and block matrices. Concerning the
linear operators that would be one option, but it is not really a
necessity. For example you can have a look at step-31 and the class
BlockSchurPreconditioner in particular, see its implementation here:
https://github.com/dealii/dealii/blob/2a6983945af78ee20b10757ab010040b9f2a2f89/examples/step-31/step-31.cc#L407-L417
What would be the added benefit of that? I would presume that since
each block have more "coherent units", this would at least to a better
conditioning of the final system, but is there anything else there?
Is there any literature or elements on this?
The benefit is that you can tailor the components to the problem at
hand. If you have a Navier-Stokes problem with small time steps, at some
point you will need a Poisson-type operator in the pressure variable to
reflect the incompressibility constraint. To resolve that global
coupling, you need some form of multigrid (or other strong
preconditioners). However, the effect is really only needed for the
pressure, so it might be inefficient to also apply multigrid on the
velocity components, and instead get around much more cheaply by doing
an ILU there or even just the diagonal. For small time steps, the
diagonal should be a good approximation, even though it might not be the
most efficient choice.
Regarding literature: I would recommend the book by Elman, Silvester and
Wathen, https://doi.org/10.1093/acprof:oso/9780199678792.001.0001 , or
the review paper by Benzi, Golub and Liesen,
https://dx.doi.org/10.1017/S0962492904000212
In my own experience, and ILU on the velocity block and a
Cahouet-Chabard approach for the pressure Schur complement works well
for medium scale simulations, i.e., polynomial degrees 2 and 3 and up to
a few billion of unknowns and maybe 10k processor cores, see also here:
https://doi.org/10.1177/1094342016671790 . For very large sizes, ILU is
not really that good any more as Timo said, so one can reduce cost by
just using the mass matrix. And geometric multigrid works better on that
scale than algebraic multigrid used in that paper. But if you want
efficiency for large scales and with higher Reynolds numbers, it is hard
to beat splitting-type solvers.
Best,
Martin
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/5d14a21a-657e-b0e2-7109-b0da017ad45a%40gmail.com.