Jet
v1.3.3
|
3-D finite difference-type linear system solver using Gauss-Seidel method. More...
#include <jet/fdm_gauss_seidel_solver3.h>
Public Member Functions | |
FdmGaussSeidelSolver3 (unsigned int maxNumberOfIterations, unsigned int residualCheckInterval, double tolerance, double sorFactor=1.0, bool useRedBlackOrdering=false) | |
Constructs the solver with given parameters. More... | |
bool | solve (FdmLinearSystem3 *system) override |
Solves the given linear system. More... | |
bool | solveCompressed (FdmCompressedLinearSystem3 *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... | |
![]() | |
FdmLinearSystemSolver3 ()=default | |
virtual | ~FdmLinearSystemSolver3 ()=default |
Static Public Member Functions | |
static void | relax (const FdmMatrix3 &A, const FdmVector3 &b, double sorFactor, FdmVector3 *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 FdmMatrix3 &A, const FdmVector3 &b, double sorFactor, FdmVector3 *x) |
Performs single Red-Black Gauss-Seidel relaxation step. More... | |
3-D finite difference-type linear system solver using Gauss-Seidel method.
jet::FdmGaussSeidelSolver3::FdmGaussSeidelSolver3 | ( | unsigned int | maxNumberOfIterations, |
unsigned int | residualCheckInterval, | ||
double | tolerance, | ||
double | sorFactor = 1.0 , |
||
bool | useRedBlackOrdering = false |
||
) |
Constructs the solver with given parameters.
unsigned int jet::FdmGaussSeidelSolver3::lastNumberOfIterations | ( | ) | const |
Returns the last number of Gauss-Seidel iterations the solver made.
double jet::FdmGaussSeidelSolver3::lastResidual | ( | ) | const |
Returns the last residual after the Gauss-Seidel iterations.
unsigned int jet::FdmGaussSeidelSolver3::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::FdmLinearSystemSolver3.
|
overridevirtual |
Solves the given compressed linear system.
Reimplemented from jet::FdmLinearSystemSolver3.
double jet::FdmGaussSeidelSolver3::sorFactor | ( | ) | const |
Returns the SOR (Successive Over Relaxation) factor.
double jet::FdmGaussSeidelSolver3::tolerance | ( | ) | const |
Returns the max residual tolerance for the Gauss-Seidel method.
bool jet::FdmGaussSeidelSolver3::useRedBlackOrdering | ( | ) | const |
Returns true if red-black ordering is enabled.