Preconditioner for asymmetric matrix-free style matrix

66 views
Skip to first unread message

殷承江

unread,
Oct 21, 2021, 11:02:36 AM10/21/21
to deal.II User Group
Hi all,

As described in the title, I am looking for an appropriate preconditioner for an asymmetric matrix implemented in matrix-free style.

I've gone though all the matrix-free tutorials and none of them talks about the asymmetric case. (Almost all of them use the Chebyshev smoother with different inner preconditioners)

However, Chebyshev smoother is out of the question due to its requirement of symmetric positive definite matrix to get the max eigen-value. BlockRelaxation preconditioner is also unlikely to fit, which requires the inner contribution to cell blocks using discontinuous finite element. Other kinds of relaxation preconditioner like SOR, ILU all request certain entries of the matrix, which is expensive in matrix-free framework.

So I guess the only doable choice would be the PreconditionJacobi + GMRES on the inner levels and AMG + GMRES solver on the coarse grid?

Since I am still learning this amazing library and not familiar with the framework. Feel free to correct me if I got anything wrong.

Regards,
Chengjiang Yin

Chengjiang Yin

unread,
Oct 23, 2021, 5:20:00 AM10/23/21
to dea...@googlegroups.com
An add-on question. Member function mg::SmootherRelaxation::smooth needs to call RelaxationType::step to actually do iterations, which in my case is PreconditionJacobi. And PreconditionJacobi::step is an interface calling Jacobi_step from its MatrixType inside.

However this is not offered in the matrix-free Base (only find Base::precondition_Jacobi multiplying vectors with Jacobi preconditioner) like in the sparse matrix class. Seems I need to implement the Jacobi step on my own, just like the way PreconditionChebyshev does? Or is there any warped class to accomplish it?

殷承江 <richard...@gmail.com> 于2021年10月21日周四 下午11:02写道:
--
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 a topic in the Google Groups "deal.II User Group" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/uY10wLpBSa0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/0f8197d4-6b88-42d0-a2a3-303e05601a08n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages