Public Member Functions | List of all members
DiagonalPreconditioner< Type, DType, LUType > Class Template Reference

Diagonal preconditioner for both symmetric and asymmetric matrices. More...

Inheritance diagram for DiagonalPreconditioner< Type, DType, LUType >:
Inheritance graph
[legend]
Collaboration diagram for DiagonalPreconditioner< Type, DType, LUType >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("diagonal")
 Runtime type information. More...
 
 DiagonalPreconditioner (const typename LduMatrix< Type, DType, LUType >::solver &sol, const dictionary &preconditionerDict)
 Construct from matrix components and preconditioner data dictionary. More...
 
virtual ~DiagonalPreconditioner ()
 
virtual void read (const dictionary &preconditionerDict)
 Read and reset the preconditioner parameters from the given. More...
 
virtual void precondition (Field< Type > &wA, const Field< Type > &rA) const
 Return wA the preconditioned form of residual rA. More...
 
virtual void preconditionT (Field< Type > &wT, const Field< Type > &rT) const
 Return wT the transpose-matrix preconditioned form of. More...
 
- Public Member Functions inherited from LduMatrix< Type, DType, LUType >::preconditioner
virtual const wordtype () const =0
 Runtime type information. More...
 
 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)
 
virtual ~preconditioner ()
 

Additional Inherited Members

- Static Public Member Functions inherited from LduMatrix< Type, DType, LUType >::preconditioner
static autoPtr< preconditionerNew (const solver &sol, const dictionary &preconditionerDict)
 Return a new preconditioner. More...
 
- Protected Attributes inherited from LduMatrix< Type, DType, LUType >::preconditioner
const solversolver_
 Reference to the base-solver this preconditioner is used with. More...
 

Detailed Description

template<class Type, class DType, class LUType>
class Foam::DiagonalPreconditioner< Type, DType, LUType >

Diagonal preconditioner for both symmetric and asymmetric matrices.

The inverse (reciprocal for scalar) of the diagonal is calculated and stored.

Source files

Definition at line 52 of file DiagonalPreconditioner.H.

Constructor & Destructor Documentation

DiagonalPreconditioner ( const typename LduMatrix< Type, DType, LUType >::solver &  sol,
const dictionary preconditionerDict 
)

Construct from matrix components and preconditioner data dictionary.

Definition at line 32 of file DiagonalPreconditioner.C.

References Foam::inv().

Here is the call graph for this function:

virtual ~DiagonalPreconditioner ( )
inlinevirtual

Member Function Documentation

TypeName ( "diagonal"  )

Runtime type information.

void read ( const dictionary preconditionerDict)
virtual

Read and reset the preconditioner parameters from the given.

dictionary

Reimplemented from LduMatrix< Type, DType, LUType >::preconditioner.

Definition at line 56 of file DiagonalPreconditioner.C.

References DiagonalPreconditioner< Type, DType, LUType >::precondition().

Referenced by DiagonalPreconditioner< Type, DType, LUType >::~DiagonalPreconditioner().

Here is the call graph for this function:

Here is the caller graph for this function:

void precondition ( Field< Type > &  wA,
const Field< Type > &  rA 
) const
virtual

Return wA the preconditioned form of residual rA.

Implements LduMatrix< Type, DType, LUType >::preconditioner.

Definition at line 62 of file DiagonalPreconditioner.C.

References UList< Type >::begin(), Foam::dot(), and List< Type >::size().

Referenced by DiagonalPreconditioner< Type, DType, LUType >::preconditionT(), DiagonalPreconditioner< Type, DType, LUType >::read(), and DiagonalPreconditioner< Type, DType, LUType >::~DiagonalPreconditioner().

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void preconditionT ( Field< Type > &  wT,
const Field< Type > &  rT 
) const
inlinevirtual

Return wT the transpose-matrix preconditioned form of.

residual rT.

Reimplemented from LduMatrix< Type, DType, LUType >::preconditioner.

Definition at line 109 of file DiagonalPreconditioner.H.

References DiagonalPreconditioner< Type, DType, LUType >::precondition().

Referenced by DiagonalPreconditioner< Type, DType, LUType >::~DiagonalPreconditioner().

Here is the call graph for this function:

Here is the caller graph for this function:


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