#1018 RFC Patch: allow different convergence criteria in dune-istl
|Reported by||Andreas Lauser (firstname.lastname@example.org)|
|Reported at||Jan 16, 2012 16:23|
|Operating System||Unspecified / All|
Although we at LH2 are generally really happy with the solvers of Dune-ISTL, we would like to use a different convergence criterion than the reduction of the two-norm of the residual. I've prepared a proof-of patch which makes the criterion pluggable and did some measurements with Dumux. In the end, the whole simulation was about 25 % faster (see the attached logfiles).
note, that this patch is currently more a proof of concept against dune 2.1 and I would appreciate some feedback. the patch description is the following:
it works by adding a template argument 'ConvergenceCriterion' to the solver. The default criterion is to look at the reduction of the defect for the current iterative solution. This is the behaviour of the ISTL solvers before this patch, so no code needs to be changed if the current behaviour ought to be kept. The patch adds a second criterion which checks whether the weighted difference between two iterations is below a given threshold. This second criterion is called 'FixPointCriterion' and shows better performance (at least for Dumux, where the Newton-Raphson solver uses a relative convergence criterion). So far, only the BiCGStab solver has been modified. If this patch has any chance of getting merged into the Dune trunk, I will also modify the other solvers.