template<class T, int MatOrder, class SolverType>
class gismo::gsFlowLinSystSolver_iterSP< T, MatOrder, SolverType >
G+Smo/Eigen iterative solver for saddle-point linear systems inside the incompressible flow solvers (classes derived from gsFlowSolverBase) with block preconditioners.
- 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_iterSP (const gsFlowSolverParams< T > ¶ms, const gsINSAssembler< T, MatOrder > *assemblerPtr) |
| 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).
|
|