Skip to content

Add MatShell functionality to PETSc wrapper

Dave Moxey requested to merge dmoxey/nektar:feature/petsc-matshell into master

This MR extends the PETSc global linear system classes to use MatShell and PCShell objects to wrap Nektar++ matrix-vector multiplication and preconditioners respectively. This therefore allows us to use PETSc's KSP objects, giving access to a wide range of iterative solvers, without explicitly constructing a PETSc sparse matrix.

Other minor additions:

  • Generally improve documentation and formatting of the PETSc code
  • Adds support for a Neumann boundary condition to linear elastic solver
  • Updates PETSc cmake files to latest version

Merge request reports