Jet
v1.3.3
|
3-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MGPCG). More...
#include <jet/fdm_mgpcg_solver3.h>
Public Member Functions | |
FdmMgpcgSolver3 (unsigned int numberOfCgIter, size_t maxNumberOfLevels, unsigned int numberOfRestrictionIter=5, unsigned int numberOfCorrectionIter=5, unsigned int numberOfCoarsestIter=20, unsigned int numberOfFinalIter=20, double maxTolerance=1e-9, double sorFactor=1.5, bool useRedBlackOrdering=false) | |
bool | solve (FdmMgLinearSystem3 *system) override |
Solves the given linear system. More... | |
unsigned int | maxNumberOfIterations () const |
Returns the max number of Jacobi iterations. More... | |
unsigned int | lastNumberOfIterations () const |
Returns the last number of Jacobi iterations the solver made. More... | |
double | tolerance () const |
Returns the max residual tolerance for the Jacobi method. More... | |
double | lastResidual () const |
Returns the last residual after the Jacobi iterations. More... | |
![]() | |
FdmMgSolver3 ()=default | |
virtual | ~FdmMgSolver3 ()=default |
FdmMgSolver3 (size_t maxNumberOfLevels, unsigned int numberOfRestrictionIter=5, unsigned int numberOfCorrectionIter=5, unsigned int numberOfCoarsestIter=20, unsigned int numberOfFinalIter=20, double maxTolerance=1e-9, double sorFactor=1.5, bool useRedBlackOrdering=false) | |
Constructs the solver with given parameters. More... | |
const MgParameters< FdmBlas3 > & | params () const |
Returns the Multigrid parameters. More... | |
double | sorFactor () const |
Returns the SOR (Successive Over Relaxation) factor. More... | |
bool | useRedBlackOrdering () const |
Returns true if red-black ordering is enabled. More... | |
bool | solve (FdmLinearSystem3 *system) final |
No-op. Multigrid-type solvers do not solve FdmLinearSystem3. More... | |
![]() | |
FdmLinearSystemSolver3 ()=default | |
virtual | ~FdmLinearSystemSolver3 ()=default |
virtual bool | solveCompressed (FdmCompressedLinearSystem3 *) |
Solves the given compressed linear system. More... | |
3-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MGPCG).
jet::FdmMgpcgSolver3::FdmMgpcgSolver3 | ( | unsigned int | numberOfCgIter, |
size_t | maxNumberOfLevels, | ||
unsigned int | numberOfRestrictionIter = 5 , |
||
unsigned int | numberOfCorrectionIter = 5 , |
||
unsigned int | numberOfCoarsestIter = 20 , |
||
unsigned int | numberOfFinalIter = 20 , |
||
double | maxTolerance = 1e-9 , |
||
double | sorFactor = 1.5 , |
||
bool | useRedBlackOrdering = false |
||
) |
Constructs the solver with given parameters.
numberOfCgIter | - Number of CG iterations. |
maxNumberOfLevels | - Number of maximum MG levels. |
numberOfRestrictionIter | - Number of restriction iterations. |
numberOfCorrectionIter | - Number of correction iterations. |
numberOfCoarsestIter | - Number of iterations at the coarsest grid. |
numberOfFinalIter | - Number of final iterations. |
maxTolerance | - Number of max residual tolerance. |
unsigned int jet::FdmMgpcgSolver3::lastNumberOfIterations | ( | ) | const |
Returns the last number of Jacobi iterations the solver made.
double jet::FdmMgpcgSolver3::lastResidual | ( | ) | const |
Returns the last residual after the Jacobi iterations.
unsigned int jet::FdmMgpcgSolver3::maxNumberOfIterations | ( | ) | const |
Returns the max number of Jacobi iterations.
|
overridevirtual |
Solves the given linear system.
Reimplemented from jet::FdmMgSolver3.
double jet::FdmMgpcgSolver3::tolerance | ( | ) | const |
Returns the max residual tolerance for the Jacobi method.