template<class T, int MatOrder, class SolverType>
class gismo::gsFlowLinSystSolver_iter< T, MatOrder, SolverType >
G+Smo/Eigen iterative solver for linear systems inside the incompressible flow solvers (classes derived from gsFlowSolverBase).
- Template Parameters
-
T | coefficient type |
MatOrder | sparse matrix storage order (ColMajor/RowMajor) |
SolverType | the G+Smp/Eigen iterative solver type |
|
virtual void | applySolver (const gsSparseMatrix< T, MatOrder > &mat, const gsMatrix< T > &rhs, gsMatrix< T > &solution) |
| Solve the linear system.
|
|
virtual void | applySolver (const gsSparseMatrix< T, MatOrder > &mat, const gsMatrix< T > &rhs, gsMatrix< T > &solution, real_t alpha_u, real_t alpha_p, index_t usize, index_t pdofs) |
| Solve the Navier–Stokes linear system with underrelaxation.
|
|
T | getAvgLinIterations () const |
| Returns the average iteration count of the linear solver per applySolver() call.
|
|
std::vector< index_t > | getLinIterVector () const |
| Returns vector of iteration counts of the linear solver for each call of applySolver().
|
|
virtual const T | getSolverSetupTime () const |
| Returns the total time spent on linear solver setup.
|
|
virtual const T | getSolveTime () const |
| Returns the total time spent on solving of the linear systems.
|
|
| gsFlowLinSystSolver_iter (const gsFlowSolverParams< T > ¶ms) |
| Constructor.
|
|
virtual void | setupPreconditioner (const gsSparseMatrix< T, MatOrder > &mat) |
| Setup the preconditioner for a given matrix.
|
|
virtual void | setupSolver (const gsSparseMatrix< T, MatOrder > &mat) |
| Setup the linear solver for a given matrix (nothing happens here).
|
|