Parent classes:
- dolfin::PETScUserPreconditioner
This class implements a PETScUserPreconditioner for multigrid preconditioning.
Methods:
- MultigridPreconditioner(MultigridSolver& mg_solver)¶
Constructor. Note the passed mg_sover is modified to work as a preconditioner i.e.:
mg_solver.parameters["error_on_nonconvergence"] = false; mg_solver.parameters["tolerance_checking"] = false; mg_solver.parameters["maximum_iterations"] = 1;are set.
shared_ptr version of constructor.
- void solve(dolfin::PETScVector& x, const dolfin::PETScVector& b)¶
Applies the preconditioner to the rhs b and stores the result to x.
- void setup(dolfin::PETScKrylovSolver& solver)¶
Setup the passed solver to use this preconditioner.
- MultigridSolver& mg_solver() const¶
Return the multigrid solver used as preconditioner.