CubbyFlow::FDMMGSolver2 Class Reference

2-D finite difference-type linear system solver using Multigrid. More...

#include <Core/Solver/FDM/FDMMGSolver2.hpp>

Inheritance diagram for CubbyFlow::FDMMGSolver2:
CubbyFlow::FDMLinearSystemSolver2 CubbyFlow::FDMMGPCGSolver2

Public Member Functions

 FDMMGSolver2 (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< FDMBLAS2 > & 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 (FDMLinearSystem2 *system) final
 No-op. Multigrid-type solvers do not solve FDMLinearSystem2. More...
 
virtual bool Solve (FDMMGLinearSystem2 *system)
 Solves Multigrid linear system. 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...
 
FDMLinearSystemSolver2operator= (const FDMLinearSystemSolver2 &)=delete
 Deleted copy assignment operator. More...
 
FDMLinearSystemSolver2operator= (FDMLinearSystemSolver2 &&) noexcept=delete
 Deleted move assignment operator. More...
 
virtual bool SolveCompressed (FDMCompressedLinearSystem2 *)
 Solves the given compressed linear system. More...
 

Detailed Description

2-D finite difference-type linear system solver using Multigrid.

Constructor & Destructor Documentation

◆ FDMMGSolver2()

CubbyFlow::FDMMGSolver2::FDMMGSolver2 ( 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<FDMBLAS2>& CubbyFlow::FDMMGSolver2::GetParams ( ) const

Returns the Multigrid parameters.

◆ GetSORFactor()

double CubbyFlow::FDMMGSolver2::GetSORFactor ( ) const

Returns the SOR (Successive Over Relaxation) factor.

◆ GetUseRedBlackOrdering()

bool CubbyFlow::FDMMGSolver2::GetUseRedBlackOrdering ( ) const

Returns true if red-black ordering is enabled.

◆ Solve() [1/2]

bool CubbyFlow::FDMMGSolver2::Solve ( FDMLinearSystem2 system)
finalvirtual

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

Implements CubbyFlow::FDMLinearSystemSolver2.

◆ Solve() [2/2]

virtual bool CubbyFlow::FDMMGSolver2::Solve ( FDMMGLinearSystem2 system)
virtual

Solves Multigrid linear system.

Reimplemented in CubbyFlow::FDMMGPCGSolver2.


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