Jet
v1.3.3
|
2-D finite difference-type linear system solver using Gauss-Seidel method. More...
#include <jet/fdm_gauss_seidel_solver2.h>
Public Member Functions | |
FdmGaussSeidelSolver2 (unsigned int maxNumberOfIterations, unsigned int residualCheckInterval, double tolerance, double sorFactor=1.0, bool useRedBlackOrdering=false) | |
Constructs the solver with given parameters. More... | |
bool | solve (FdmLinearSystem2 *system) override |
Solves the given linear system. More... | |
bool | solveCompressed (FdmCompressedLinearSystem2 *system) override |
Solves the given compressed linear system. More... | |
unsigned int | maxNumberOfIterations () const |
Returns the max number of Gauss-Seidel iterations. More... | |
unsigned int | lastNumberOfIterations () const |
Returns the last number of Gauss-Seidel iterations the solver made. More... | |
double | tolerance () const |
Returns the max residual tolerance for the Gauss-Seidel method. More... | |
double | lastResidual () const |
Returns the last residual after the Gauss-Seidel iterations. More... | |
double | sorFactor () const |
Returns the SOR (Successive Over Relaxation) factor. More... | |
bool | useRedBlackOrdering () const |
Returns true if red-black ordering is enabled. More... | |
![]() | |
FdmLinearSystemSolver2 ()=default | |
virtual | ~FdmLinearSystemSolver2 ()=default |
Static Public Member Functions | |
static void | relax (const FdmMatrix2 &A, const FdmVector2 &b, double sorFactor, FdmVector2 *x) |
Performs single natural Gauss-Seidel relaxation step. More... | |
static void | relax (const MatrixCsrD &A, const VectorND &b, double sorFactor, VectorND *x) |
Performs single natural Gauss-Seidel relaxation step for compressed sys. More... | |
static void | relaxRedBlack (const FdmMatrix2 &A, const FdmVector2 &b, double sorFactor, FdmVector2 *x) |
Performs single Red-Black Gauss-Seidel relaxation step. More... | |
2-D finite difference-type linear system solver using Gauss-Seidel method.
jet::FdmGaussSeidelSolver2::FdmGaussSeidelSolver2 | ( | unsigned int | maxNumberOfIterations, |
unsigned int | residualCheckInterval, | ||
double | tolerance, | ||
double | sorFactor = 1.0 , |
||
bool | useRedBlackOrdering = false |
||
) |
Constructs the solver with given parameters.
unsigned int jet::FdmGaussSeidelSolver2::lastNumberOfIterations | ( | ) | const |
Returns the last number of Gauss-Seidel iterations the solver made.
double jet::FdmGaussSeidelSolver2::lastResidual | ( | ) | const |
Returns the last residual after the Gauss-Seidel iterations.
unsigned int jet::FdmGaussSeidelSolver2::maxNumberOfIterations | ( | ) | const |
Returns the max number of Gauss-Seidel iterations.
|
static |
Performs single natural Gauss-Seidel relaxation step.
|
static |
Performs single natural Gauss-Seidel relaxation step for compressed sys.
|
static |
Performs single Red-Black Gauss-Seidel relaxation step.
|
overridevirtual |
Solves the given linear system.
Implements jet::FdmLinearSystemSolver2.
|
overridevirtual |
Solves the given compressed linear system.
Reimplemented from jet::FdmLinearSystemSolver2.
double jet::FdmGaussSeidelSolver2::sorFactor | ( | ) | const |
Returns the SOR (Successive Over Relaxation) factor.
double jet::FdmGaussSeidelSolver2::tolerance | ( | ) | const |
Returns the max residual tolerance for the Gauss-Seidel method.
bool jet::FdmGaussSeidelSolver2::useRedBlackOrdering | ( | ) | const |
Returns true if red-black ordering is enabled.