clearify semantics of preconditioner pre/apply/post
I always assumed that for every Preconditioner
object, it is necessary to call pre
before apply
. Then it is safe to call apply
as often as necessary to converge and the post
ensures cleanup of temporary data.
The pthread tests in dune/istl/paamg/test
now also test variants, where the pre
is called before cloning the AMG
and the running it in several threads. I'm surprised by this behaviour, and it tests a stronger requirement than I always assumed.
What is the proper behaviour here?