Bindable Inverseoperator
This branch introduces the possibility to construct inverse operators without a operator (and preconditioner) and bind a operator to it later.
Additionally the branch adds a constructor to NewtonInverseOperator
which moves its LinearInverseOperator
.
TLDR:
- adds
bind(op)
(resp.bind(op,prec)
) andunbind()
methods to inverse operators. - adds constructor without operator to inverse operators.
- adds
setMaxIterations(unsigned int/int)
to inverse operators, additionally addsetMaxLinearIterations(int)
toNewtonInverseOperator
. - adds test which covers inverse operators (see below for some caveats).
- makes most solvers movable.
Done
-
NewtonInverseOperator
[newtoninverseoperator.hh] -
CGInverseOperator
[cginverseoperator.hh] -
ParDGGeneralizedMinResInverseOperator
,ParDGBiCGStabInverseOperator
[pardginverseoperator.hh] -
ISTLLoopOp
,ISTLCGOp
,ISTLBICGSTABOp
,ISTLMINResOp
,ISTLGMResOp
[istlsolver.hh] -
ISTLInverseOperator
[istlinverseoperator.hh] -
EigenCGInverseOperator
,EigenBiCGStabInverseOperator
[eigen.hh] -
PETSCInvereOperator
[petscsolver.hh]untested
-
OEMCGOp
,OEMBICGSTABOp
,OEMBICGSQOp
,OEMGMRESOp
[oemsolver.hh]OEMGMRESOp
is broken, see #51 (closed). -
GMRESOp
,FGMRESOp
,BICGSTABOp
[oemsolver.hh]FGMRESOp
fails an assert when used without preconditioning.
depends on !120 (merged), !121 (merged)