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:
CubbyFlow::FDMLinearSystemSolver3 CubbyFlow::FDMMGPCGSolver3

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...
 
FDMLinearSystemSolver3operator= (const FDMLinearSystemSolver3 &)=delete
 Deleted copy assignment operator. More...
 
FDMLinearSystemSolver3operator= (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]

bool CubbyFlow::FDMMGSolver3::Solve ( FDMLinearSystem3 system)
finalvirtual

No-op. Multigrid-type solvers do not solve FDMLinearSystem3.

Implements CubbyFlow::FDMLinearSystemSolver3.

◆ Solve() [2/2]

virtual bool CubbyFlow::FDMMGSolver3::Solve ( FDMMGLinearSystem3 system)
virtual

Solves Multigrid linear system.

Reimplemented in CubbyFlow::FDMMGPCGSolver3.


The documentation for this class was generated from the following file: