[Dune] On-the-fly CG operator in ISTL

Christian Engwer christian.engwer at uni-muenster.de
Wed Sep 24 08:51:42 CEST 2014


Dear Andrea,

> I have a very quick question: I have a symmetric operator which does not have its matrix counterpart, since it is not assembled.
> I need to invert it with an on-the-fly CG solver; what should I use from ISTL classes? Naturally, rhs and solution vectors have been declared as BlockVector 's.

you can use any krylov method from ISTL. The problem comes with the
preconditioner, you can not use strong preconditioners, like AMG or
ILU.

You have to wrap your operator as an ISTL LinearOperator (see Doxygen
for the interface... very simple...) and then you can use this
operator instead of the MatrixAdapter. For the precondioner you
oviously can only use those which don't need a matrix, e.g. SSOR.

Everything else is just like in the matrix case. If you are using
pdelab, pdelab can directly wrap your gridoperator as an ISTL
operator.

Ciao
Christian




More information about the Dune mailing list