Simplified diagonal-based incomplete Cholesky smoother for symmetric matrices. More...
#include <FDICSmoother.H>


Public Member Functions | |
| TypeName ("FDIC") | |
| Runtime type information. | |
| FDICSmoother (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls) | |
| Construct from matrix components. | |
| void | smooth (solveScalarField &psi, const scalarField &source, const direction cmpt, const label nSweeps) const |
| Smooth the solution for a given number of sweeps. | |
| virtual void | scalarSmooth (solveScalarField &psi, const solveScalarField &source, const direction cmpt, const label nSweeps) const |
| Smooth the solution for a given number of sweeps. | |
| Public Member Functions inherited from lduMatrix::smoother | |
| virtual const word & | type () const =0 |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, smoother, symMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls)) | |
| declareRunTimeSelectionTable (autoPtr, smoother, asymMatrix,(const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls),(fieldName, matrix, interfaceBouCoeffs, interfaceIntCoeffs, interfaces, solverControls)) | |
| smoother (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces) | |
| Construct for given field name, matrix etc. | |
| virtual | ~smoother ()=default |
| Destructor. | |
| const word & | fieldName () const noexcept |
| const lduMatrix & | matrix () const noexcept |
| const FieldField< Field, scalar > & | interfaceBouCoeffs () const noexcept |
| const FieldField< Field, scalar > & | interfaceIntCoeffs () const noexcept |
| const lduInterfaceFieldPtrsList & | interfaces () const noexcept |
Additional Inherited Members | |
| Static Public Member Functions inherited from lduMatrix::smoother | |
| static word | getName (const dictionary &) |
| Find the smoother name (directly or from a sub-dictionary). | |
| static autoPtr< smoother > | New (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls) |
| Return a new smoother. | |
| Protected Attributes inherited from lduMatrix::smoother | |
| word | fieldName_ |
| const lduMatrix & | matrix_ |
| const FieldField< Field, scalar > & | interfaceBouCoeffs_ |
| const FieldField< Field, scalar > & | interfaceIntCoeffs_ |
| const lduInterfaceFieldPtrsList & | interfaces_ |
Simplified diagonal-based incomplete Cholesky smoother for symmetric matrices.
To improve efficiency, the residual is evaluated after every nSweeps sweeps.
Definition at line 51 of file FDICSmoother.H.
| FDICSmoother | ( | const word & | fieldName, |
| const lduMatrix & | matrix, | ||
| const FieldField< Field, scalar > & | interfaceBouCoeffs, | ||
| const FieldField< Field, scalar > & | interfaceIntCoeffs, | ||
| const lduInterfaceFieldPtrsList & | interfaces, | ||
| const dictionary & | solverControls ) |
Construct from matrix components.
Definition at line 39 of file FDICSmoother.C.
References DICPreconditioner::calcReciprocalD(), Foam::diag(), lduMatrix::smoother::fieldName(), lduMatrix::smoother::interfaceBouCoeffs(), lduMatrix::smoother::interfaceIntCoeffs(), lduMatrix::smoother::interfaces(), lduMatrix::smoother::matrix(), lduMatrix::smoother::matrix_, and lduMatrix::smoother::smoother().

| TypeName | ( | "FDIC" | ) |
Runtime type information.
References lduMatrix::smoother::fieldName(), lduMatrix::smoother::interfaceBouCoeffs(), lduMatrix::smoother::interfaceIntCoeffs(), lduMatrix::smoother::interfaces(), lduMatrix::smoother::matrix(), and psi.

|
virtual |
Smooth the solution for a given number of sweeps.
Implements lduMatrix::smoother.
Definition at line 89 of file FDICSmoother.C.
References UList< T >::begin(), forAll, lduMatrix::smoother::interfaceBouCoeffs_, lduMatrix::smoother::interfaces_, lduMatrix::smoother::matrix_, and psi.
Referenced by scalarSmooth().


|
virtual |
Smooth the solution for a given number of sweeps.
Implements lduMatrix::smoother.
Definition at line 143 of file FDICSmoother.C.
