Jet  v1.3.3
Public Member Functions | Static Public Member Functions | List of all members
jet::FdmJacobiSolver3 Class Referencefinal

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

#include <jet/fdm_jacobi_solver3.h>

Inheritance diagram for jet::FdmJacobiSolver3:
jet::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 maxNumberOfIterations () const
 Returns the max number of Jacobi iterations. More...
 
unsigned int lastNumberOfIterations () const
 Returns the last number of Jacobi iterations the solver made. More...
 
double tolerance () const
 Returns the max residual tolerance for the Jacobi method. More...
 
double lastResidual () const
 Returns the last residual after the Jacobi iterations. More...
 
- Public Member Functions inherited from jet::FdmLinearSystemSolver3
 FdmLinearSystemSolver3 ()=default
 
virtual ~FdmLinearSystemSolver3 ()=default
 

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()

jet::FdmJacobiSolver3::FdmJacobiSolver3 ( unsigned int  maxNumberOfIterations,
unsigned int  residualCheckInterval,
double  tolerance 
)

Constructs the solver with given parameters.

Member Function Documentation

◆ lastNumberOfIterations()

unsigned int jet::FdmJacobiSolver3::lastNumberOfIterations ( ) const

Returns the last number of Jacobi iterations the solver made.

◆ lastResidual()

double jet::FdmJacobiSolver3::lastResidual ( ) const

Returns the last residual after the Jacobi iterations.

◆ maxNumberOfIterations()

unsigned int jet::FdmJacobiSolver3::maxNumberOfIterations ( ) const

Returns the max number of Jacobi iterations.

◆ relax() [1/2]

static void jet::FdmJacobiSolver3::relax ( const FdmMatrix3 A,
const FdmVector3 b,
FdmVector3 x,
FdmVector3 xTemp 
)
static

Performs single Jacobi relaxation step.

◆ relax() [2/2]

static void jet::FdmJacobiSolver3::relax ( const MatrixCsrD A,
const VectorND b,
VectorND x,
VectorND xTemp 
)
static

Performs single Jacobi relaxation step for compressed sys.

◆ solve()

bool jet::FdmJacobiSolver3::solve ( FdmLinearSystem3 system)
overridevirtual

Solves the given linear system.

Implements jet::FdmLinearSystemSolver3.

◆ solveCompressed()

bool jet::FdmJacobiSolver3::solveCompressed ( FdmCompressedLinearSystem3 system)
overridevirtual

Solves the given compressed linear system.

Reimplemented from jet::FdmLinearSystemSolver3.

◆ tolerance()

double jet::FdmJacobiSolver3::tolerance ( ) const

Returns the max residual tolerance for the Jacobi method.


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