Documentation a537f1bdf2
Loading...
Searching...
No Matches
CPreconditioner< ScalarType > Class Template Referenceabstract

Abstract base class for defining a preconditioning operation. More...

#include <CPreconditioner.hpp>

Inheritance diagram for CPreconditioner< ScalarType >:
[legend]

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.
 

Detailed Description

template<class ScalarType>
class CPreconditioner< ScalarType >

Abstract base class for defining a preconditioning operation.

Author
J. Hicken.

See the remarks regarding the CMatrixVectorProduct class. The same idea applies here to the preconditioning operation.

Member Function Documentation

◆ Build()

template<class ScalarType >
virtual void CPreconditioner< ScalarType >::Build ( )
inlinevirtual

◆ IsIdentity()

template<class ScalarType >
virtual bool CPreconditioner< ScalarType >::IsIdentity ( ) const
inlinevirtual

Return true to identify the identity preconditioner, may allow some solvers to be more efficient.

Reimplemented in CIdentityPreconditioner< ScalarType >.

◆ operator()()

template<class ScalarType >
virtual void CPreconditioner< ScalarType >::operator() ( const CSysVector< ScalarType > &  u,
CSysVector< ScalarType > &  v 
) const
pure virtual

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