iMSTK
Interactive Medical Simulation Toolkit
Public Types | Public Member Functions | Protected Attributes | List of all members
imstk::LinearSolver< SystemMatrixType > Class Template Referenceabstract

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< LinearSystemTypegetSystem () 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< LinearSystemTypem_linearSystem
 Linear system of equations.
 

Detailed Description

template<typename SystemMatrixType>
class imstk::LinearSolver< SystemMatrixType >

Base class for linear solvers.

Definition at line 20 of file imstkLinearSolver.h.


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