CubbyFlow::FDMJacobiSolver3 Class Referencefinal

3-D finite difference-type linear system solver using Jacobi method. More...

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

Inheritance diagram for CubbyFlow::FDMJacobiSolver3:
CubbyFlow::FDMLinearSystemSolver3

Public Member Functions

 FDMJacobiSolver3 (unsigned int maxNumberOfIterations, unsigned int residualCheckInterval, double tolerance)
 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 GetMaxNumberOfIterations () const
 Returns the max number of Jacobi iterations. More...
 
unsigned int GetLastNumberOfIterations () const
 Returns the last number of Jacobi iterations the solver made. More...
 
double GetTolerance () const
 Returns the max residual tolerance for the Jacobi method. More...
 
double GetLastResidual () const
 Returns the last residual after the Jacobi iterations. 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...
 

Static Public Member Functions

static void Relax (const FDMMatrix3 &A, const FDMVector3 &b, FDMVector3 *x, FDMVector3 *xTemp)
 Performs single Jacobi relaxation step. More...
 
static void Relax (const MatrixCSRD &A, const VectorND &b, VectorND *x, VectorND *xTemp)
 Performs single Jacobi relaxation step for compressed sys. More...
 

Detailed Description

3-D finite difference-type linear system solver using Jacobi method.

Constructor & Destructor Documentation

◆ FDMJacobiSolver3()

CubbyFlow::FDMJacobiSolver3::FDMJacobiSolver3 ( unsigned int  maxNumberOfIterations,
unsigned int  residualCheckInterval,
double  tolerance 
)

Constructs the solver with given parameters.

Member Function Documentation

◆ GetLastNumberOfIterations()

unsigned int CubbyFlow::FDMJacobiSolver3::GetLastNumberOfIterations ( ) const

Returns the last number of Jacobi iterations the solver made.

◆ GetLastResidual()

double CubbyFlow::FDMJacobiSolver3::GetLastResidual ( ) const

Returns the last residual after the Jacobi iterations.

◆ GetMaxNumberOfIterations()

unsigned int CubbyFlow::FDMJacobiSolver3::GetMaxNumberOfIterations ( ) const

Returns the max number of Jacobi iterations.

◆ GetTolerance()

double CubbyFlow::FDMJacobiSolver3::GetTolerance ( ) const

Returns the max residual tolerance for the Jacobi method.

◆ Relax() [1/2]

static void CubbyFlow::FDMJacobiSolver3::Relax ( const FDMMatrix3 A,
const FDMVector3 b,
FDMVector3 x,
FDMVector3 xTemp 
)
static

Performs single Jacobi relaxation step.

◆ Relax() [2/2]

static void CubbyFlow::FDMJacobiSolver3::Relax ( const MatrixCSRD A,
const VectorND b,
VectorND x,
VectorND xTemp 
)
static

Performs single Jacobi relaxation step for compressed sys.

◆ Solve()

bool CubbyFlow::FDMJacobiSolver3::Solve ( FDMLinearSystem3 system)
overridevirtual

Solves the given linear system.

Implements CubbyFlow::FDMLinearSystemSolver3.

◆ SolveCompressed()

bool CubbyFlow::FDMJacobiSolver3::SolveCompressed ( FDMCompressedLinearSystem3 system)
overridevirtual

Solves the given compressed linear system.

Reimplemented from CubbyFlow::FDMLinearSystemSolver3.


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