Loading...
Searching...
No Matches
LduMatrix< Type, DType, LUType >::preconditioner Class Referenceabstract

Abstract base-class for LduMatrix preconditioners. More...

#include <LduMatrix.H>

Inheritance diagram for LduMatrix< Type, DType, LUType >::preconditioner:
Collaboration diagram for LduMatrix< Type, DType, LUType >::preconditioner:

Public Member Functions

virtual const wordtype () const =0
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, preconditioner, symMatrix,(const solver &sol, const dictionary &preconditionerDict),(sol, preconditionerDict))
 declareRunTimeSelectionTable (autoPtr, preconditioner, asymMatrix,(const solver &sol, const dictionary &preconditionerDict),(sol, preconditionerDict))
 preconditioner (const solver &sol)
 Construct for given solver.
virtual ~preconditioner ()=default
 Destructor.
virtual void read (const dictionary &)
 Read and reset the preconditioner parameters from the given dictionary.
virtual void precondition (Field< Type > &wA, const Field< Type > &rA) const =0
 Return wA the preconditioned form of residual rA.
virtual void preconditionT (Field< Type > &wT, const Field< Type > &rT) const
 Return wT the transpose-matrix preconditioned form of residual rT.

Static Public Member Functions

static autoPtr< preconditionerNew (const solver &sol, const dictionary &preconditionerDict)
 Return a new preconditioner.

Protected Attributes

const solversolver_
 Reference to the base-solver this preconditioner is used with.

Detailed Description

template<class Type, class DType, class LUType>
class Foam::LduMatrix< Type, DType, LUType >::preconditioner

Abstract base-class for LduMatrix preconditioners.

Definition at line 444 of file LduMatrix.H.

Constructor & Destructor Documentation

◆ preconditioner()

template<class Type, class DType, class LUType>
preconditioner ( const solver & sol)
inline

◆ ~preconditioner()

template<class Type, class DType, class LUType>
virtual ~preconditioner ( )
virtualdefault

Destructor.

Member Function Documentation

◆ type()

template<class Type, class DType, class LUType>
virtual const word & type ( ) const
pure virtual

Runtime type information.

◆ declareRunTimeSelectionTable() [1/2]

template<class Type, class DType, class LUType>
declareRunTimeSelectionTable ( autoPtr ,
preconditioner ,
symMatrix ,
(const solver &sol, const dictionary &preconditionerDict) ,
(sol, preconditionerDict)  )

References preconditioner().

Here is the call graph for this function:

◆ declareRunTimeSelectionTable() [2/2]

template<class Type, class DType, class LUType>
declareRunTimeSelectionTable ( autoPtr ,
preconditioner ,
asymMatrix ,
(const solver &sol, const dictionary &preconditionerDict) ,
(sol, preconditionerDict)  )

References preconditioner().

Here is the call graph for this function:

◆ New()

template<class Type, class DType, class LUType>
Foam::autoPtr< typename Foam::LduMatrix< Type, DType, LUType >::preconditioner > New ( const solver & sol,
const dictionary & preconditionerDict )
static

Return a new preconditioner.

Definition at line 28 of file LduMatrixPreconditioner.C.

References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, FatalIOErrorInLookup, dictionary::get(), and LduMatrix< Type, DType, LUType >::solver::matrix().

Referenced by PBiCCCG< Type, DType, LUType >::solve(), PBiCICG< Type, DType, LUType >::solve(), and PCICG< Type, DType, LUType >::solve().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ read()

template<class Type, class DType, class LUType>
virtual void read ( const dictionary & )
inlinevirtual

Read and reset the preconditioner parameters from the given dictionary.

Reimplemented in DiagonalPreconditioner< Type, DType, LUType >, and NoPreconditioner< Type, DType, LUType >.

Definition at line 526 of file LduMatrix.H.

◆ precondition()

template<class Type, class DType, class LUType>
virtual void precondition ( Field< Type > & wA,
const Field< Type > & rA ) const
pure virtual

◆ preconditionT()

template<class Type, class DType, class LUType>
virtual void preconditionT ( Field< Type > & wT,
const Field< Type > & rT ) const
inlinevirtual

Return wT the transpose-matrix preconditioned form of residual rT.

This is only required for preconditioning asymmetric matrices.

Reimplemented in DiagonalPreconditioner< Type, DType, LUType >, NoPreconditioner< Type, DType, LUType >, and TDILUPreconditioner< Type, DType, LUType >.

Definition at line 544 of file LduMatrix.H.

References NotImplemented.

Member Data Documentation

◆ solver_

template<class Type, class DType, class LUType>
const solver& solver_
protected

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