Go to the documentation of this file.
7 #ifndef INCLUDE_JET_FDM_MGPCG_SOLVER3_H_
8 #define INCLUDE_JET_FDM_MGPCG_SOLVER3_H_
36 unsigned int numberOfRestrictionIter = 5,
37 unsigned int numberOfCorrectionIter = 5,
38 unsigned int numberOfCoarsestIter = 20,
39 unsigned int numberOfFinalIter = 20,
40 double maxTolerance = 1e-9,
double sorFactor = 1.5,
59 struct Preconditioner final {
68 unsigned int _maxNumberOfIterations;
69 unsigned int _lastNumberOfIterations;
71 double _lastResidualNorm;
77 Preconditioner _precond;
85 #endif // INCLUDE_JET_FDM_MGPCG_SOLVER3_H_
Multigrid-syle 3-D linear system.
Definition: fdm_mg_linear_system3.h:23
bool useRedBlackOrdering() const
Returns true if red-black ordering is enabled.
double sorFactor() const
Returns the SOR (Successive Over Relaxation) factor.
Definition: advection_solver2.h:18
double tolerance() const
Returns the max residual tolerance for the Jacobi method.
double lastResidual() const
Returns the last residual after the Jacobi iterations.
3-D finite difference-type linear system solver using Multigrid.
Definition: fdm_mg_solver3.h:17
unsigned int maxNumberOfIterations() const
Returns the max number of Jacobi iterations.
3-D finite difference-type linear system solver using Multigrid Preconditioned conjugate gradient (MG...
Definition: fdm_mgpcg_solver3.h:23
unsigned int lastNumberOfIterations() const
Returns the last number of Jacobi iterations the solver made.
bool solve(FdmMgLinearSystem3 *system) override
Solves the given linear system.
Multigrid input parameter set.
Definition: mg.h:59
std::shared_ptr< FdmMgpcgSolver3 > FdmMgpcgSolver3Ptr
Shared pointer type for the FdmMgpcgSolver3.
Definition: fdm_mgpcg_solver3.h:81
3-D array class.
Definition: array3.h:43
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)