![]() |
G+Smo
25.01.0
Geometry + Simulation Modules
|
MSIMPLER preconditioner.
| T | coefficient type |
| BlockFType | type of block \fF\f |
Inheritance diagram for gsINSBlockPrecondMSIMPLER< T, MatOrder, BlockFType >:
Collaboration diagram for gsINSBlockPrecondMSIMPLER< T, MatOrder, BlockFType >:Public Member Functions | |
| virtual void | apply (const gsMatrix< T > &input, gsMatrix< T > &x) const |
| Apply the preconditioner. Computes the vector \fx = P^{-1} y\f. | |
| virtual int | cols () const |
| Returns the number of columns of the preconditioner. | |
| virtual std::string | getName () |
| Returns the preconditioner name as a string. | |
| gsINSBlockPrecondMSIMPLER (const std::map< std::string, gsSparseMatrix< T, MatOrder > > &mat, const gsOptionList &opt) | |
| Constructor. | |
| virtual int | rows () const |
| Returns the number of rows of the preconditioner. | |
| virtual void | setOptions (const gsOptionList &) |
| Set options based on a gsOptionList object. | |
| virtual void | update (const std::map< std::string, gsSparseMatrix< T, MatOrder > > &mat) |
| Update the preconditioner (new linearization or time step). | |
Static Public Member Functions | |
| static gsOptionList | defaultOptions () |
| Returns default preconditioner options as a gsOptionList object. | |
| static gsIdentityOp< T > | Identity (const index_t dim) |
| Identity operator. | |
| static uPtr | make () |
| Returns a unique pointer to a newly created instance. | |
| static uPtr | make (const std::map< std::string, gsSparseMatrix< T, MatOrder > > &mat, const gsOptionList &opt) |
| Returns a unique pointer to a newly created instance. | |
| static uPtr | make (gsINSPrecondBlock< T > *Finv, gsLinearOperator< T > *B, gsINSPrecondBlock< T > *Sinv, const gsOptionList &opt) |
| Returns a unique pointer to a newly created instance. | |
| static uPtr | make (std::string precType, const std::map< std::string, gsSparseMatrix< T, MatOrder > > &mat, const gsOptionList &opt) |
| Returns a unique pointer to a newly created instance of the given preconditioner type. | |
Protected Member Functions | |
| void | update (gsINSPrecondBlock< T > *Finv) |
| Update the preconditioner (new linearization or time step). To be used when only the \fF\f block changes. | |
| void | update (gsINSPrecondBlock< T > *Finv, gsINSPrecondBlock< T > *Sinv) |
| Update the preconditioner (new linearization or time step). To be used when both \fF\f and \fS\f block change. | |
|
inline |
Constructor.
| [in] | mat | a reference to the std::map of labeled matrices needed for construction of the preconditioner |
| [in] | opt | a list of options for the preconditioner |
|
virtual |
Apply the preconditioner. Computes the vector \fx = P^{-1} y\f.
| [in] | input | a const reference the vector \f y \f |
| [out] | x | a reference to the resulting vector \f x \f |
Reimplemented from gsINSBlockPrecondBase< T, MatOrder >.
|
inlinestatic |
Returns a unique pointer to a newly created instance.
| [in] | mat | a const reference to std::map of labeled matrices needed for construction of the preconditioner |
| [in] | opt | a list of options for the preconditioner |
|
staticinherited |
Returns a unique pointer to a newly created instance of the given preconditioner type.
| [in] | precType | the reqiured preconditioner type as a string |
| [in] | mat | a const reference to std::map of labeled matrices needed for construction of the preconditioner (assuming the following order: NS system matrix, mass matrix (velocity, pressure or both), other matrices) |
| [in] | opt | a list of options for the preconditioner |
|
inlinevirtual |
Update the preconditioner (new linearization or time step).
| [in] | mat | a const reference to std::map of updated matrices |
|
inlineprotectedinherited |
Update the preconditioner (new linearization or time step). To be used when only the \fF\f block changes.
| [in] | Finv | a pointer to the new \fF\f block |
|
inlineprotectedinherited |
Update the preconditioner (new linearization or time step). To be used when both \fF\f and \fS\f block change.
| [in] | Finv | a pointer to the new \fF\f block |
| [in] | Sinv | a pointer to the new \fS\f block |