Lucas,

I'm trying to precondition my system which can be solved with GMRES (with increasing iteration number for increasing size) but the standard preconditioners are either increasing the number of iterations, or causing the solver not to converge.

Preconditioner design is difficult. This is why I recorded so many lectures on it :-)

The best approach to solving block systems *efficiently* is to use block preconditioners. They can have multiple levels of Schur complementing -- in each step, you reduce the size of the problem by one block row and column. You can also call a 2x2 part of the matrix a block in itself -- for example, for your matrix you might consider splitting it as

  [B X]
  [Y A]

where
  X = [C D]
  Y = [L_psi, 0]^T
  A = [M_chi, 0; L_chi M_phi]

Then you apply the Schur complementing, which should be relatively straightforward because A is invertible. In fact, because A is block triangular, it can easily be solved with by solving for two mass matrices, each of which is cheap. Then you'd come up with a preconditioner in the same way as discussed in the "Possibilities for extensions" of step-22 that uses the fact that you can form a Schur complement.

Whether that results in a good preconditioner is a separate question, and one on which it is possible to spend a year or two. But it's probably worth investigating.

Separately, there is of course also the possibility of using a direct solver. If you're running in 2d, that would be my first choice -- up to ~200k DoFs, direct solvers are very competitive.

Best
 W.

--
------------------------------------------------------------------------
Wolfgang Bangerth          email:                 [email protected]
                           www: http://www.math.colostate.edu/~bangerth/

--
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/052b75c1-38b5-0d17-fda3-e867d6085cf7%40colostate.edu.

Reply via email to