Preconditioned conjugate gradient solver for symmetric lduMatrices using a run-time selectable preconditioner. More...
#include <OpenFOAM/PCG.H>
Preconditioned conjugate gradient solver for symmetric lduMatrices using a run-time selectable preconditioner.
Definition at line 50 of file PCG.H.
Public Member Functions | |
TypeName ("PCG") | |
Runtime type information.
| |
PCG (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 and solver controls.
| |
virtual | ~PCG () |
virtual lduMatrix::solverPerformance | solve (scalarField &psi, const scalarField &source, const direction cmpt=0) const |
Solve the matrix with this solver.
|
PCG | ( | const word & | fieldName, |
const lduMatrix & | matrix, | ||
const FieldField< Field, scalar > & | interfaceBouCoeffs, | ||
const FieldField< Field, scalar > & | interfaceIntCoeffs, | ||
const lduInterfaceFieldPtrsList & | interfaces, | ||
const dictionary & | solverControls | ||
) |
TypeName | ( | "PCG" | ) |
Runtime type information.
Foam::lduMatrix::solverPerformance solve | ( | scalarField & | psi, |
const scalarField & | source, | ||
const direction | cmpt = 0
|
||
) | const [virtual]
|
Solve the matrix with this solver.
Implements lduMatrix::solver.
Definition at line 66 of file PCG.C.
References UList< T >::begin(), beta(), lduMatrix::solverPerformance::checkConvergence(), lduMatrix::solverPerformance::checkSingularity(), Foam::endl(), lduMatrix::solverPerformance::finalResidual(), Foam::gSumMag(), Foam::gSumProd(), Foam::Info, lduMatrix::solverPerformance::initialResidual(), Foam::mag(), lduMatrix::solverPerformance::nIterations(), and List< T >::size().