|
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... | |
Public Member Functions inherited from jet::FdmMgSolver2 | |
| 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... | |
Public Member Functions inherited from jet::FdmLinearSystemSolver2 | |
| 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.
1.8.18