chrono::fsi::ChFsiLinearSolver Class Referenceabstract

Description

Base class for solving linear systems on GPUs.

Specific solution methods are implemented in derived classes.

#include <ChFsiLinearSolver.h>

Inheritance diagram for chrono::fsi::ChFsiLinearSolver:

Public Types

enum  SolverType {
  BICGSTAB, GMRES, CR, CG,
  SAP
}
 Solver type supported in ISPH.
 

Public Member Functions

 ChFsiLinearSolver (SolverType msolver, Real mrel_res=1e-8, Real mabs_res=1e-4, int mmax_iter=1000, bool mverbose=false)
 Constructor of the ChFsiLinearSolver class.
 
virtual ~ChFsiLinearSolver ()
 Destructor of the ChFsiLinearSolver class.
 
SolverType GetType ()
 Return the solver type.
 
void SetVerbose (bool mv)
 Set verbose output from solver.
 
bool GetVerbose () const
 Return whether or not verbose output is enabled.
 
Real GetResidual ()
 Return the current residual.
 
int GetNumIterations ()
 Return the number of current Iterations.
 
void SetIterationLimit (int numIter)
 Set the maximum number of iterations.
 
int GetIterationLimit ()
 Set the maximum number of iterations.
 
void SetAbsRes (Real mabs_res)
 Set the absolute residual.
 
Real GetAbsRes ()
 Get the absolute residual.
 
void SetRelRes (Real mrel_res)
 Get the relative residual.
 
Real GetRelRes ()
 Get the relative residual.
 
int GetSolverStatus ()
 Return the solver status. More...
 
virtual void Solve (int SIZE, int NNZ, Real *A, unsigned int *ArowIdx, unsigned int *AcolIdx, Real *x, Real *b)=0
 Solve linear system for x.
 

Protected Attributes

Real rel_res = 1e-3
 
Real abs_res = 1e-6
 
int max_iter = 500
 
bool verbose = false
 
int Iterations = 0
 
Real residual = 1e5
 
int solver_status = 0
 

Member Function Documentation

◆ GetSolverStatus()

int chrono::fsi::ChFsiLinearSolver::GetSolverStatus ( )
inline

Return the solver status.

  • 0: unsuccessful
  • 1: successfully converged

The documentation for this class was generated from the following file:
  • /builds/uwsbel/chrono/src/chrono_fsi/math/ChFsiLinearSolver.h