Preconditioned pipelined conjugate gradient solver for symmetric lduMatrices using a run-time selectable preconditioner. More...
Protected Member Functions | |
solverPerformance | scalarSolveCG (solveScalarField &psi, const solveScalarField &source, const direction cmpt, const bool cgMode) const |
![]() | |
virtual void | readControls () |
Additional Inherited Members | |
![]() | |
static autoPtr< solver > | New (const word &fieldName, const lduMatrix &matrix, const FieldField< Field, scalar > &interfaceBouCoeffs, const FieldField< Field, scalar > &interfaceIntCoeffs, const lduInterfaceFieldPtrsList &interfaces, const dictionary &solverControls) |
![]() | |
word | fieldName_ |
const lduMatrix & | matrix_ |
const FieldField< Field, scalar > & | interfaceBouCoeffs_ |
const FieldField< Field, scalar > & | interfaceIntCoeffs_ |
lduInterfaceFieldPtrsList | interfaces_ |
dictionary | controlDict_ |
int | log_ |
label | minIter_ |
label | maxIter_ |
scalar | tolerance_ |
scalar | relTol_ |
profilingTrigger | profiling_ |
![]() | |
static const label | defaultMaxIter_ = 1000 |
Preconditioned pipelined conjugate gradient solver for symmetric lduMatrices using a run-time selectable preconditioner.
P. Ghysels, W. Vanroose. "Hiding global synchronization latency in the preconditioned Conjugate Gradient algorithm"
and implementation details from
Paul Eller, William Gropp "Scalable Non-blocking Preconditioned Conjugate Gradient Methods"
PPCG | ( | const word & | fieldName, |
const lduMatrix & | matrix, | ||
const FieldField< Field, scalar > & | interfaceBouCoeffs, | ||
const FieldField< Field, scalar > & | interfaceIntCoeffs, | ||
const lduInterfaceFieldPtrsList & | interfaces, | ||
const dictionary & | solverControls | ||
) |
|
virtualdefault |
|
protected |
Definition at line 75 of file PPCG.C.
References Foam::constant::atomic::alpha, beta(), SolverPerformance::checkConvergence(), Foam::expressions::patchExpr::debug, delta, Foam::endl(), SolverPerformance::finalResidual(), gamma, lduMatrix::preconditioner::getName(), Foam::Info, SolverPerformance::initialResidual(), n, lduMatrix::preconditioner::New(), SolverPerformance::nIterations(), p, UPstream::parRun(), psi, s, Foam::type(), and UPstream::waitRequest().
TypeName | ( | "PPCG" | ) |
|
virtual |
Implements lduMatrix::solver.
Reimplemented in PPCR.
Definition at line 276 of file PPCG.C.
References refPtr< Field< Type > >::ref().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.