FDMGaussSeidelSolver2.hpp
Go to the documentation of this file.
Linear system (Ax=b) for 2-D finite differencing.
Definition: FDMLinearSystem2.hpp:40
double GetTolerance() const
Returns the max residual tolerance for the Gauss-Seidel method.
unsigned int GetMaxNumberOfIterations() const
Returns the max number of Gauss-Seidel iterations.
bool GetUseRedBlackOrdering() const
Returns true if red-black ordering is enabled.
bool SolveCompressed(FDMCompressedLinearSystem2 *system) override
Solves the given compressed linear system.
static void RelaxRedBlack(const FDMMatrix2 &A, const FDMVector2 &b, double sorFactor, FDMVector2 *x)
Performs single Red-Black Gauss-Seidel relaxation step.
bool Solve(FDMLinearSystem2 *system) override
Solves the given linear system.
unsigned int GetLastNumberOfIterations() const
Returns the last number of Gauss-Seidel iterations the solver made.
double GetSORFactor() const
Returns the SOR (Successive Over Relaxation) factor.
Definition: pybind11Utils.hpp:20
Definition: Array-Impl.hpp:19
static void Relax(const FDMMatrix2 &A, const FDMVector2 &b, double sorFactor, FDMVector2 *x)
Performs single natural Gauss-Seidel relaxation step.
Compressed linear system (Ax=b) for 2-D finite differencing.
Definition: FDMLinearSystem2.hpp:59
double GetLastResidual() const
Returns the last residual after the Gauss-Seidel iterations.
Definition: Matrix.hpp:611
FDMGaussSeidelSolver2(unsigned int maxNumberOfIterations, unsigned int residualCheckInterval, double tolerance, double sorFactor=1.0, bool useRedBlackOrdering=false)
Constructs the solver with given parameters.
2-D finite difference-type linear system solver using Gauss-Seidel method.
Definition: FDMGaussSeidelSolver2.hpp:20
Abstract base class for 2-D finite difference-type linear system solver.
Definition: FDMLinearSystemSolver2.hpp:19
std::shared_ptr< FDMGaussSeidelSolver2 > FDMGaussSeidelSolver2Ptr
Shared pointer type for the FDMGaussSeidelSolver2.
Definition: FDMGaussSeidelSolver2.hpp:85