Jet
v1.3.3
|
2-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MGPCG). More...
#include <jet/fdm_mgpcg_solver2.h>
Public Member Functions | |
FdmMgpcgSolver2 (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 (FdmMgLinearSystem2 *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... | |
![]() | |
FdmMgSolver2 ()=default | |
virtual | ~FdmMgSolver2 ()=default |
FdmMgSolver2 (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< FdmBlas2 > & | 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 (FdmLinearSystem2 *system) final |
No-op. Multigrid-type solvers do not solve FdmLinearSystem2. More... | |
![]() | |
FdmLinearSystemSolver2 ()=default | |
virtual | ~FdmLinearSystemSolver2 ()=default |
virtual bool | solveCompressed (FdmCompressedLinearSystem2 *) |
Solves the given compressed linear system. More... | |
2-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MGPCG).
jet::FdmMgpcgSolver2::FdmMgpcgSolver2 | ( | 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::FdmMgpcgSolver2::lastNumberOfIterations | ( | ) | const |
Returns the last number of Jacobi iterations the solver made.
double jet::FdmMgpcgSolver2::lastResidual | ( | ) | const |
Returns the last residual after the Jacobi iterations.
unsigned int jet::FdmMgpcgSolver2::maxNumberOfIterations | ( | ) | const |
Returns the max number of Jacobi iterations.
|
overridevirtual |
Solves the given linear system.
Reimplemented from jet::FdmMgSolver2.
double jet::FdmMgpcgSolver2::tolerance | ( | ) | const |
Returns the max residual tolerance for the Jacobi method.