iMSTK
Interactive Medical Simulation Toolkit
|
Base class for linear solvers. More...
#include <imstkLinearSolver.h>
Public Types | |
enum | Type { ConjugateGradient, LUFactorization, GaussSeidel, SuccessiveOverRelaxation, Jacobi, GMRES, None } |
using | MatrixType = SystemMatrixType |
using | LinearSystemType = LinearSystem< MatrixType > |
Public Member Functions | |
LinearSolver () | |
Default constructor/destructor. | |
virtual void | solve (Vectord &x)=0 |
Main solve routine. | |
virtual void | setSystem (std::shared_ptr< LinearSystemType > newSystem) |
Set/get the system. Replaces/Returns the stored linear system of equations. | |
std::shared_ptr< LinearSystemType > | getSystem () const |
void | setTolerance (const double tolerance) |
Set solver tolerance. | |
double | getTolerance () const |
Get solver tolerance. | |
virtual void | print () const |
Print solver information. | |
virtual bool | isIterative () const =0 |
Returns true if the solver is iterative. | |
Type | getType () |
Return the type of the solver. | |
Protected Attributes | |
Type | m_type = Type::None |
Type of the scene object. | |
double | m_tolerance = 1.0e-4 |
default tolerance | |
std::shared_ptr< LinearSystemType > | m_linearSystem |
Linear system of equations. | |
Base class for linear solvers.
Definition at line 20 of file imstkLinearSolver.h.