G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
gsINSPrecondBlockMod< T > Class Template Referenceabstract

Detailed Description

template<class T>
class gismo::gsINSPrecondBlockMod< T >

Base class for block F of (modified) block preconditioner of the form.

\[ \left[ \begin{array}{cc} F & B^T \\ 0 & S \end{array} \right], \]

where several systems have to be solved.

+ Inheritance diagram for gsINSPrecondBlockMod< T >:
+ Collaboration diagram for gsINSPrecondBlockMod< T >:

Public Member Functions

virtual void apply (const gsMatrix< T > &input, gsMatrix< T > &x) const =0
 apply the operator on the input vector and store the result in x
 
virtual index_t cols () const =0
 Returns the number of columns of the operator.
 
gsSparseSolver< T > * createLinSolver ()
 Returns a pointer to new linear solver (direct or iterative).
 
 gsINSPrecondBlockMod (const gsOptionList &opt)
 Constructor.
 
virtual index_t rows () const =0
 Returns the number of rows of the operator.
 
virtual void setOptions (const gsOptionList &)
 Set options based on a gsOptionList object.
 
void setupLinSolver (gsSparseSolver< T > &solver)
 Set up the linear solver for the block.
 

Static Public Member Functions

static gsOptionList defaultOptions ()
 Get the default options as gsOptionList object.
 
static gsIdentityOp< T > Identity (const index_t dim)
 Identity operator.
 

Constructor & Destructor Documentation

◆ gsINSPrecondBlockMod()

template<class T >
gsINSPrecondBlockMod ( const gsOptionList opt)
inline

Constructor.

Parameters
[in]opta list of options for the preconditioner

Member Function Documentation

◆ apply()

◆ setupLinSolver()

template<class T >
void setupLinSolver ( gsSparseSolver< T > &  solver)
inherited

Set up the linear solver for the block.

Parameters
[out]solvera reference to the solver object