2-D finite difference-type linear system solver using Gauss-Seidel method. More...
#include <Core/Solver/FDM/FDMGaussSeidelSolver2.hpp>
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 | GetMaxNumberOfIterations () const |
| Returns the max number of Gauss-Seidel iterations. More... | |
| unsigned int | GetLastNumberOfIterations () const |
| Returns the last number of Gauss-Seidel iterations the solver made. More... | |
| double | GetTolerance () const |
| Returns the max residual tolerance for the Gauss-Seidel method. More... | |
| double | GetLastResidual () const |
| Returns the last residual after the Gauss-Seidel iterations. More... | |
| double | GetSORFactor () const |
| Returns the SOR (Successive Over Relaxation) factor. More... | |
| bool | GetUseRedBlackOrdering () const |
| Returns true if red-black ordering is enabled. More... | |
Public Member Functions inherited from CubbyFlow::FDMLinearSystemSolver2 | |
| FDMLinearSystemSolver2 ()=default | |
| Default constructor. More... | |
| FDMLinearSystemSolver2 (const FDMLinearSystemSolver2 &)=delete | |
| Deleted copy constructor. More... | |
| FDMLinearSystemSolver2 (FDMLinearSystemSolver2 &&) noexcept=delete | |
| Deleted move constructor. More... | |
| virtual | ~FDMLinearSystemSolver2 ()=default |
| Default virtual destructor. More... | |
| FDMLinearSystemSolver2 & | operator= (const FDMLinearSystemSolver2 &)=delete |
| Deleted copy assignment operator. More... | |
| FDMLinearSystemSolver2 & | operator= (FDMLinearSystemSolver2 &&) noexcept=delete |
| Deleted move assignment operator. More... | |
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... | |
Detailed Description
2-D finite difference-type linear system solver using Gauss-Seidel method.
Constructor & Destructor Documentation
◆ FDMGaussSeidelSolver2()
| CubbyFlow::FDMGaussSeidelSolver2::FDMGaussSeidelSolver2 | ( | unsigned int | maxNumberOfIterations, |
| unsigned int | residualCheckInterval, | ||
| double | tolerance, | ||
| double | sorFactor = 1.0, |
||
| bool | useRedBlackOrdering = false |
||
| ) |
Constructs the solver with given parameters.
Member Function Documentation
◆ GetLastNumberOfIterations()
| unsigned int CubbyFlow::FDMGaussSeidelSolver2::GetLastNumberOfIterations | ( | ) | const |
Returns the last number of Gauss-Seidel iterations the solver made.
◆ GetLastResidual()
| double CubbyFlow::FDMGaussSeidelSolver2::GetLastResidual | ( | ) | const |
Returns the last residual after the Gauss-Seidel iterations.
◆ GetMaxNumberOfIterations()
| unsigned int CubbyFlow::FDMGaussSeidelSolver2::GetMaxNumberOfIterations | ( | ) | const |
Returns the max number of Gauss-Seidel iterations.
◆ GetSORFactor()
| double CubbyFlow::FDMGaussSeidelSolver2::GetSORFactor | ( | ) | const |
Returns the SOR (Successive Over Relaxation) factor.
◆ GetTolerance()
| double CubbyFlow::FDMGaussSeidelSolver2::GetTolerance | ( | ) | const |
Returns the max residual tolerance for the Gauss-Seidel method.
◆ GetUseRedBlackOrdering()
| bool CubbyFlow::FDMGaussSeidelSolver2::GetUseRedBlackOrdering | ( | ) | const |
Returns true if red-black ordering is enabled.
◆ Relax() [1/2]
|
static |
Performs single natural Gauss-Seidel relaxation step.
◆ Relax() [2/2]
|
static |
Performs single natural Gauss-Seidel relaxation step for compressed sys.
◆ RelaxRedBlack()
|
static |
Performs single Red-Black Gauss-Seidel relaxation step.
◆ Solve()
|
overridevirtual |
Solves the given linear system.
Implements CubbyFlow::FDMLinearSystemSolver2.
◆ SolveCompressed()
|
overridevirtual |
Solves the given compressed linear system.
Reimplemented from CubbyFlow::FDMLinearSystemSolver2.
The documentation for this class was generated from the following file:
- Core/Solver/FDM/FDMGaussSeidelSolver2.hpp
Public Member Functions inherited from
1.8.13