Feature/solver parameter
-
deprecation of old parameters. This is partially done. Depending on how far we want to be backward compatible we might have to add some deprecation for the old global istl.*
parameters -
required setter
methods forSolverParameters
andNewtonParameters
-
PetscInverseOperator
needs to be modified to take information from theSolverParameters
e.g.petsc.preconditioning.method
is still used. We should perhaps change thepreconditionMethod
method to take thepreConTable
as argument since istl and petsc have different preconds available and it would be good to get an error when trying to useistl
withhypre
as preconditioner. The same might hold for theKrylovMethod
method. The only issue is how to maintain the same strings over the different solvers?
This will be fixed later.
-
Fem::Istl::InverseOperator
fromsolver/istl.hh
andsolver/amgistl.hh
is always verbose (see the output ofsolver/test/inverseoperatortest
-
krylovMethod
could also be used for other types of linear solver, i.e., direct solver. For example now we havesuperlu
and at some point it would be nice to be able to switch betweenSuiteSparse
solvers also dynamically, thenfem.solver.krylovmethod:umfpack
is not optimal. Perhaps just usesolveMethod
instead? -
direct solver e.g. suitesparse spqr can not be used within NewtonInverseOperator
(see commented out tests ininverseoperatortest
. There is some issue with the copy constructor called inNewtonInverseOperator
being ill formatted and this seems to come from the base classInverseOperatorInterface
. It is not clear to me why this is not an issue withKrylovInverseOperator
etc. -
Fix ode test. ROW solver does not work anymore. -
Fix l2projection_petsc_mpi-2. This issue occurred before and I think it's related to the change of default solver parameters. -
Fix docu in DiscreteFunction for the newly added methods such as getLocalDofs, setLocalDofs. These needs to be added to DiscreteFunctionInterface. -
Fix beginAssemble and endAssemble in LinearOperators.