Iterative solver cleanup
This MR removes duplicate code in iterative solvers by moving
- convergence check
- invalid defect norm check (inf or NaN)
- output
to a class Iteration
. A instance of this class is created with IterativeSolver::startIteration
and is intended to be kept in the local scope of the apply method. During iteration the method Iteration::step
checks for all the things mentioned above. The destructor fills all fields of InverseOperatorResult
and prints the final statistics if verbose
is positive.
Merge request reports
Activity
- Resolved by Jö Fahlke
added 1 commit
- 27930350 - remote startIteration method from IterativeSolver and create Iteration directly
added 1 commit
- 697abde5 - remove startIteration method from IterativeSolver and create Iteration directly
- Resolved by Jö Fahlke
- Resolved by Nils-Arne Dreier
mentioned in issue dune-common#158 (closed)
added 1 commit
- 0af31d3a - change return type of `IterativeSolver::name()` to std::string
added 1 commit
- 24a802f1 - call Preconditioner::pre before computing the residuum, since pre might change
@nils.dreier since dune-common!659 (merged) got merged a while ago, it would be nice to use
className
instead of all the explicitname()
implementations.Besides this, I'd like to merge this soon...
added 53 commits
-
24a802f1...a5cbbad0 - 51 commits from branch
core:master
- a337dc31 - Merge remote-tracking branch 'origin/master' into iterative_solver_cleanup
- 93340a73 - use className for determining the name of a IterativeSolver
-
24a802f1...a5cbbad0 - 51 commits from branch
added 6 commits
-
93340a73...14d12ed3 - 5 commits from branch
core:master
- 19e4e75e - Merge branch 'master' into 'iterative_solver_cleanup'
-
93340a73...14d12ed3 - 5 commits from branch
mentioned in commit 6cc6544d
mentioned in merge request !334 (merged)
mentioned in commit 9e5267ef