How to choose an iterative solver in fully coupled methods?

61 views
Skip to first unread message

wang yuan

unread,
Feb 4, 2023, 8:22:39 PM2/4/23
to deal.II User Group
Hello everyone,
Since I am dealing with a fluid-structure interaction system using a fully coupled approach.
Degrees of freedom are displacement and pressure.
The Jacobian matrix is ​​block-wise and has the following form:
[    K          Q   ]
[  Q(T)       H  ]
where K is the stiffness matrix and has a large condition number.
This is a symmetric matrix, but not guaranteed to be positive definite。


Because the matrix is ​​relatively large, it is hoped that an iterative solver can be used.
I tried conjugate gradient, GMRES and AMG methods.All of these are difficult to converge.


I can't find literature that discusses solvers for related problems.
So my question is what solver would be more suitable for my case?
In addition, is there some special solver or special preprocessing method for block matrix?

Wolfgang Bangerth

unread,
Feb 7, 2023, 4:04:02 PM2/7/23
to dea...@googlegroups.com

Wang Yuan:

> Since I am dealing with a fluid-structure interaction system using a
> fully coupled approach.
> Degrees of freedom are displacement and pressure.
> The Jacobian matrix is ​​block-wise and has the following form:
> [    K          Q   ]
> [  Q(T)       H  ]
> where K is the stiffness matrix and has a large condition number.
> This is a symmetric matrix, but not guaranteed to be positive definite。
>
>
> Because the matrix is ​​relatively large, it is hoped that an iterative
> solver can be used.
> I tried conjugate gradient, GMRES and AMG methods.All of these are
> difficult to converge.

Yes, that is not surprising. You need a good preconditioner for these
sorts of problems. One approach is to use

[K^{-1} 0 ]
[0 H^{-1}]

as a preconditioner, and then you can use CG or Minres for the solver
(depending on whether or not the overall matrix is positive definite).
But you can also include a term either in the upper or lower zero block
above, which often makes the preconditioner better; in that case, the
preconditioner is non-symmetric, and you need GMRES as a solver.

We call these kinds of preconditioners "block preconditioners" because
they exploit the block structure of the matrix. step-20 and step-22
first discuss these sorts of issues, and I would encourage you to also
take a look at video lecture 38 at
https://www.math.colostate.edu/~bangerth/videos.html

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

wang yuan

unread,
Feb 7, 2023, 7:54:19 PM2/7/23
to deal.II User Group
Thanks a lot, this is exactly what I needed!!
Reply all
Reply to author
Forward
0 new messages