AMDiS 2.11-git
The Adaptive Multi-Dimensional Simulation Toolbox
 
Loading...
Searching...
No Matches
PreconditionerInterface< M, X, Y > Class Template Referenceabstract

Interface for Preconditioner y = M*x. More...

#include <PreconditionerInterface.hpp>

Inherited by Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.

Public Member Functions

virtual ~PreconditionerInterface ()=default
 Virtual destructor.
 
virtual void init (M const &A)=0
 Is called a the beginning of a solution procedure.
 
virtual void finish ()=0
 Is called at the end of a solution procedure.
 
virtual void solve (X const &x, Y &y) const =0
 Apply the preconditioner to a vector x and store the result in y.
 
virtual void adjoint_solve (X const &x, Y &y) const
 Apply the transposed preconditioner to a vector x and store the result in y.
 

Detailed Description

template<class M, class X, class Y>
class AMDiS::PreconditionerInterface< M, X, Y >

Interface for Preconditioner y = M*x.

Member Function Documentation

◆ adjoint_solve()

template<class M , class X , class Y >
virtual void adjoint_solve ( X const &  x,
Y &  y 
) const
inlinevirtual

Apply the transposed preconditioner to a vector x and store the result in y.

Reimplemented in BlockDiagonalPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.

◆ finish()

template<class M , class X , class Y >
virtual void finish ( )
pure virtual

Is called at the end of a solution procedure.

Implemented in BlockDiagonalPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.

◆ init()

template<class M , class X , class Y >
virtual void init ( M const &  A)
pure virtual

◆ solve()

template<class M , class X , class Y >
virtual void solve ( X const &  x,
Y &  y 
) const
pure virtual

Apply the preconditioner to a vector x and store the result in y.

Implemented in BlockDiagonalPreconditioner< M, V, Basis >, Preconditioner< M, X, Y, PreconImpl >, and SolverPrecon< M, X, Y >.


The documentation for this class was generated from the following file: