Go to the documentation of this file.
7 #ifndef INCLUDE_JET_FDM_ICCG_SOLVER2_H_
8 #define INCLUDE_JET_FDM_ICCG_SOLVER2_H_
42 struct Preconditioner final {
52 struct PreconditionerCompressed final {
62 unsigned int _maxNumberOfIterations;
63 unsigned int _lastNumberOfIterations;
65 double _lastResidualNorm;
72 Preconditioner _precond;
79 PreconditionerCompressed _precondComp;
81 void clearUncompressedVectors();
82 void clearCompressedVectors();
90 #endif // INCLUDE_JET_FDM_ICCG_SOLVER2_H_
Compressed linear system (Ax=b) for 2-D finite differencing.
Definition: fdm_linear_system2.h:54
Linear system (Ax=b) for 2-D finite differencing.
Definition: fdm_linear_system2.h:36
double tolerance() const
Returns the max residual tolerance for the Jacobi method.
2-D finite difference-type linear system solver using incomplete Cholesky conjugate gradient (ICCG).
Definition: fdm_iccg_solver2.h:18
unsigned int maxNumberOfIterations() const
Returns the max number of Jacobi iterations.
2-D array class.
Definition: array2.h:42
Definition: advection_solver2.h:18
2-D read-only array accessor class.
Definition: array_accessor2.h:261
bool solveCompressed(FdmCompressedLinearSystem2 *system) override
Solves the given compressed linear system.
FdmIccgSolver2(unsigned int maxNumberOfIterations, double tolerance)
Constructs the solver with given parameters.
std::shared_ptr< FdmIccgSolver2 > FdmIccgSolver2Ptr
Shared pointer type for the FdmIccgSolver2.
Definition: fdm_iccg_solver2.h:86
bool solve(FdmLinearSystem2 *system) override
Solves the given linear system.
unsigned int lastNumberOfIterations() const
Returns the last number of Jacobi iterations the solver made.
Abstract base class for 2-D finite difference-type linear system solver.
Definition: fdm_linear_system_solver2.h:17
double lastResidual() const
Returns the last residual after the Jacobi iterations.
VectorN< double > VectorND
Double-type N-D vector.
Definition: vector_n.h:404
Array2< double > FdmVector2
Vector type for 2-D finite differencing.
Definition: fdm_linear_system2.h:30