Rodin/PETSc/Solver/KSP.h file

PETSc KSP (Krylov subspace) linear solver wrapper for Rodin.

Wraps the PETSc KSP context and implements the Rodin LinearSolverBase interface so that any PETSc Krylov solver (CG, GMRES, BiCGStab, …) can be used to solve the linear system $ A\mathbf{x} = \mathbf{b} $ assembled by a Rodin variational problem.

The class supports:

  • Programmatic configuration via setType(), setTolerances(), setPreconditioner().
  • Command-line overrides via KSPSetFromOptions (called inside solve).
  • Automatic solution vector allocation when x == PETSC_NULL.

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Solver
Solution of linear and nonlinear discrete systems.
namespace Rodin::PETSc
PETSc integration module for Rodin.
namespace Rodin::PETSc::Solver
PETSc-backed linear and nonlinear solver adapters.

Classes

class Rodin::Solver::KSP
PETSc KSP (Krylov subspace) linear solver wrapper.