Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices. More...
Public Member Functions | |
TypeName ("DILU") | |
Runtime type information. More... | |
TDILUPreconditioner (const typename LduMatrix< Type, DType, LUType >::solver &sol, const dictionary &preconditionerDict) | |
Construct from matrix components and preconditioner data dictionary. More... | |
virtual | ~TDILUPreconditioner () |
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 word & | type () 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 () |
virtual void | read (const dictionary &preconditionerDict) |
Read and reset the preconditioner parameters. More... | |
Static Public Member Functions | |
static void | calcInvD (Field< DType > &rD, const LduMatrix< Type, DType, LUType > &matrix) |
Calculate the reciprocal of the preconditioned diagonal. More... | |
Static Public Member Functions inherited from LduMatrix< Type, DType, LUType >::preconditioner | |
static autoPtr< preconditioner > | New (const solver &sol, const dictionary &preconditionerDict) |
Return a new preconditioner. More... | |
Additional Inherited Members | |
Protected Attributes inherited from LduMatrix< Type, DType, LUType >::preconditioner | |
const solver & | solver_ |
Reference to the base-solver this preconditioner is used with. More... | |
Simplified diagonal-based incomplete LU preconditioner for asymmetric matrices.
The inverse (reciprocal for scalar) of the preconditioned diagonal is calculated and stored.
Definition at line 53 of file TDILUPreconditioner.H.
TDILUPreconditioner | ( | 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 TDILUPreconditioner.C.
References TDILUPreconditioner< Type, DType, LUType >::calcInvD(), and LduMatrix< Type, DType, LUType >::solver::matrix().
|
inlinevirtual |
Definition at line 81 of file TDILUPreconditioner.H.
References TDILUPreconditioner< Type, DType, LUType >::calcInvD(), TDILUPreconditioner< Type, DType, LUType >::precondition(), and TDILUPreconditioner< Type, DType, LUType >::preconditionT().
TypeName | ( | "DILU" | ) |
Runtime type information.
Calculate the reciprocal of the preconditioned diagonal.
Definition at line 48 of file TDILUPreconditioner.C.
References UList< T >::begin(), Foam::dot(), Foam::inv(), LduMatrix< Type, DType, LUType >::lduAddr(), LduMatrix< Type, DType, LUType >::lower(), TDILUPreconditioner< Type, DType, LUType >::precondition(), List< T >::size(), and LduMatrix< Type, DType, LUType >::upper().
Referenced by TDILUPreconditioner< Type, DType, LUType >::TDILUPreconditioner(), and TDILUPreconditioner< Type, DType, LUType >::~TDILUPreconditioner().
Return wA the preconditioned form of residual rA.
Implements LduMatrix< Type, DType, LUType >::preconditioner.
Definition at line 81 of file TDILUPreconditioner.C.
References UList< Type >::begin(), Foam::dot(), TDILUPreconditioner< Type, DType, LUType >::preconditionT(), and List< Type >::size().
Referenced by TDILUPreconditioner< Type, DType, LUType >::calcInvD(), and TDILUPreconditioner< Type, DType, LUType >::~TDILUPreconditioner().
Return wT the transpose-matrix preconditioned form of.
residual rT.
Reimplemented from LduMatrix< Type, DType, LUType >::preconditioner.
Definition at line 131 of file TDILUPreconditioner.C.
References UList< Type >::begin(), Foam::dot(), and List< Type >::size().
Referenced by TDILUPreconditioner< Type, DType, LUType >::precondition(), and TDILUPreconditioner< Type, DType, LUType >::~TDILUPreconditioner().