Skip to content

WIP: Feature/new istl linear solvers

Timo Koch requested to merge feature/new-istl-linear-solvers into master
  • Revisit template arguments
  • Introduce linear algebra backend or similar to make usage simpler
  • Adapt all linear solvers to provide norm
  • In Newton call linearSolver->norm(r) if available otherwise call assembler->residualNorm(); (depends on !2311 (merged) to be merged)
  • Deprecate conversion of multitype matrices in Newton (do in solver instead if necessary)

Depends on !2310 (merged) to be merged.

The matrix and vector type now have to be known to construct the solver. This was previously delayed until the solve call but made the structure kind of intransparent because it wasn't really clear which vector type has to come in but only specific types work anyway.

Hard coding the solver hopefully reduces compile times wrt the factory. Also the implementation should be

  • more compact than the old backends
  • have more runtime option due to parameter tree-based params
  • work in parallel as well

If this works out, we would deprecated the old solver backends.

Edited by Timo Koch

Merge request reports