MultigridPreconditioner.h

class MultigridPreconditioner

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.

MultigridPreconditioner(const boost::shared_ptr<MultigridSolver>& mg_solver)

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.

Previous topic

MultigridPreconditionedKrylovSolver.h

Next topic

MultigridProblem.h

This Page