CubbyFlow::FDMMGSolver3 Class Reference
3-D finite difference-type linear system solver using Multigrid. More...
#include <Core/Solver/FDM/FDMMGSolver3.hpp>
Inheritance diagram for CubbyFlow::FDMMGSolver3:
Public Member Functions | |
FDMMGSolver3 (size_t maxNumberOfLevels, unsigned int numberOfRestrictionIter=5, unsigned int numberOfCorrectionIter=5, unsigned int numberOfCoarsestIter=20, unsigned int numberOfFinalIter=20, double maxTolerance=1e-9, double sorFactor=1.5, bool useRedBlackOrdering=false) | |
Constructs the solver with given parameters. More... | |
const MGParameters< FDMBLAS3 > & | GetParams () const |
Returns the Multigrid parameters. More... | |
double | GetSORFactor () const |
Returns the SOR (Successive Over Relaxation) factor. More... | |
bool | GetUseRedBlackOrdering () const |
Returns true if red-black ordering is enabled. More... | |
bool | Solve (FDMLinearSystem3 *system) final |
No-op. Multigrid-type solvers do not solve FDMLinearSystem3. More... | |
virtual bool | Solve (FDMMGLinearSystem3 *system) |
Solves Multigrid linear system. More... | |
Public Member Functions inherited from CubbyFlow::FDMLinearSystemSolver3 | |
FDMLinearSystemSolver3 ()=default | |
Default constructor. More... | |
FDMLinearSystemSolver3 (const FDMLinearSystemSolver3 &)=delete | |
Deleted copy constructor. More... | |
FDMLinearSystemSolver3 (FDMLinearSystemSolver3 &&) noexcept=delete | |
Deleted move constructor. More... | |
virtual | ~FDMLinearSystemSolver3 ()=default |
Default virtual destructor. More... | |
FDMLinearSystemSolver3 & | operator= (const FDMLinearSystemSolver3 &)=delete |
Deleted copy assignment operator. More... | |
FDMLinearSystemSolver3 & | operator= (FDMLinearSystemSolver3 &&) noexcept=delete |
Deleted move assignment operator. More... | |
virtual bool | SolveCompressed (FDMCompressedLinearSystem3 *) |
Solves the given compressed linear system. More... | |
Detailed Description
3-D finite difference-type linear system solver using Multigrid.
Constructor & Destructor Documentation
◆ FDMMGSolver3()
CubbyFlow::FDMMGSolver3::FDMMGSolver3 | ( | size_t | maxNumberOfLevels, |
unsigned int | numberOfRestrictionIter = 5 , |
||
unsigned int | numberOfCorrectionIter = 5 , |
||
unsigned int | numberOfCoarsestIter = 20 , |
||
unsigned int | numberOfFinalIter = 20 , |
||
double | maxTolerance = 1e-9 , |
||
double | sorFactor = 1.5 , |
||
bool | useRedBlackOrdering = false |
||
) |
Constructs the solver with given parameters.
Member Function Documentation
◆ GetParams()
const MGParameters<FDMBLAS3>& CubbyFlow::FDMMGSolver3::GetParams | ( | ) | const |
Returns the Multigrid parameters.
◆ GetSORFactor()
double CubbyFlow::FDMMGSolver3::GetSORFactor | ( | ) | const |
Returns the SOR (Successive Over Relaxation) factor.
◆ GetUseRedBlackOrdering()
bool CubbyFlow::FDMMGSolver3::GetUseRedBlackOrdering | ( | ) | const |
Returns true if red-black ordering is enabled.
◆ Solve() [1/2]
|
finalvirtual |
No-op. Multigrid-type solvers do not solve FDMLinearSystem3.
Implements CubbyFlow::FDMLinearSystemSolver3.
◆ Solve() [2/2]
|
virtual |
Solves Multigrid linear system.
Reimplemented in CubbyFlow::FDMMGPCGSolver3.
The documentation for this class was generated from the following file:
- Core/Solver/FDM/FDMMGSolver3.hpp