![]() |
Documentation a537f1bdf2
|
Abstract base class for defining a preconditioning operation. More...
#include <CPreconditioner.hpp>
Public Member Functions | |
| virtual | ~CPreconditioner ()=0 |
| Destructor of the class. | |
| virtual void | operator() (const CSysVector< ScalarType > &u, CSysVector< ScalarType > &v) const =0 |
| Overload of operator (), applies the preconditioner to "u" storing the result in "v". | |
| virtual void | Build () |
| Generic "preprocessing" hook derived classes may implement to build the preconditioner. | |
| virtual bool | IsIdentity () const |
| Return true to identify the identity preconditioner, may allow some solvers to be more efficient. | |
Static Public Member Functions | |
| static CPreconditioner * | Create (ENUM_LINEAR_SOLVER_PREC kind, CSysMatrix< ScalarType > &jacobian, CGeometry *geometry, const CConfig *config) |
| Factory method. | |
Abstract base class for defining a preconditioning operation.
See the remarks regarding the CMatrixVectorProduct class. The same idea applies here to the preconditioning operation.
|
inlinevirtual |
Generic "preprocessing" hook derived classes may implement to build the preconditioner.
Reimplemented in CIdentityPreconditioner< ScalarType >, CJacobiPreconditioner< ScalarType >, CILUPreconditioner< ScalarType >, CLU_SGSPreconditioner< ScalarType >, CLineletPreconditioner< ScalarType >, and CPastixPreconditioner< ScalarType >.
|
inlinevirtual |
Return true to identify the identity preconditioner, may allow some solvers to be more efficient.
Reimplemented in CIdentityPreconditioner< ScalarType >.
|
pure virtual |
Overload of operator (), applies the preconditioner to "u" storing the result in "v".
Implemented in CIdentityPreconditioner< ScalarType >, CJacobiPreconditioner< ScalarType >, CILUPreconditioner< ScalarType >, CLU_SGSPreconditioner< ScalarType >, CLineletPreconditioner< ScalarType >, CPastixPreconditioner< ScalarType >, and CAbstractPreconditioner< ScalarType >.