Skip to content

Feature/solver parameter

Robert K requested to merge feature/solver-parameter into master
  • 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 for SolverParameters and NewtonParameters

  • PetscInverseOperator needs to be modified to take information from the SolverParameters e.g. petsc.preconditioning.method is still used. We should perhaps change the preconditionMethod method to take the preConTable as argument since istl and petsc have different preconds available and it would be good to get an error when trying to use istl with hypre as preconditioner. The same might hold for the KrylovMethod method. The only issue is how to maintain the same strings over the different solvers?

This will be fixed later.

  • Fem::Istl::InverseOperator from solver/istl.hh and solver/amgistl.hh is always verbose (see the output of solver/test/inverseoperatortest

  • krylovMethod could also be used for other types of linear solver, i.e., direct solver. For example now we have superlu and at some point it would be nice to be able to switch between SuiteSparse solvers also dynamically, then fem.solver.krylovmethod:umfpack is not optimal. Perhaps just use solveMethod instead?

  • direct solver e.g. suitesparse spqr can not be used within NewtonInverseOperator (see commented out tests in inverseoperatortest. There is some issue with the copy constructor called in NewtonInverseOperator being ill formatted and this seems to come from the base class InverseOperatorInterface. It is not clear to me why this is not an issue with KrylovInverseOperator 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.

Edited by Robert K

Merge request reports