Use a LinearSolver as Preconditioner. More...
#include <SolverPrecon.hpp>
Inherits PreconditionerInterface< M, X, Y >.
Classes | |
struct | Creator |
A creator to be used instead of the constructor. More... | |
Public Member Functions | |
SolverPrecon (std::string const &prefix) | |
void | init (M const &matrix) override |
Implementation of PreconditionerBase::init() More... | |
void | finish () override |
Implementation of PreconditionerInterface::exit() More... | |
void | solve (X const &x, Y &y) const override |
Implementation of PreconditionerInterface::solve() More... | |
void | adjoint_solve (X const &x, Y &y) const override |
Implementation of PreconditionerInterface::adjointSolve() More... | |
Public Member Functions inherited from PreconditionerInterface< M, X, Y > | |
virtual | ~PreconditionerInterface ()=default |
Virtual destructor. | |
virtual void | init (M const &A)=0 |
Is called a the beginning of a solution procedure. More... | |
virtual void | finish ()=0 |
Is called at the end of a solution procedure. More... | |
virtual void | solve (X const &x, Y &y) const =0 |
Apply the preconditioner to a vector x and store the result in y . More... | |
virtual void | adjoint_solve (X const &x, Y &y) const |
Apply the transposed preconditioner to a vector x and store the result in y . More... | |
Use a LinearSolver as Preconditioner.
|
inlineoverridevirtual |
Implementation of PreconditionerInterface::adjointSolve()
Reimplemented from PreconditionerInterface< M, X, Y >.
|
inlineoverridevirtual |
Implementation of PreconditionerInterface::exit()
Implements PreconditionerInterface< M, X, Y >.
|
inlineoverridevirtual |
Implementation of PreconditionerBase::init()
Implements PreconditionerInterface< M, X, Y >.
|
inlineoverridevirtual |
Implementation of PreconditionerInterface::solve()
Implements PreconditionerInterface< M, X, Y >.