|
My Project
|
This implements a Schur-decomposition based preconditioner for the mortar-elasticity system [A B] [B' ]. More...
#include <mortar_schur_precond.hpp>
Public Member Functions | |
| MortarSchurPre (const Matrix &P_, const Matrix &B_, PrecondElasticityBlock &Apre_, bool symmetric_=false) | |
| Constructor. More... | |
| virtual | ~MortarSchurPre () |
| Destructor. | |
| void | pre (Vector &x, Vector &b) override |
| Preprocess preconditioner. | |
| void | apply (Vector &v, const Vector &d) override |
| Applies the preconditioner. More... | |
| void | post (Vector &x) override |
| Dummy post-process function. | |
| Dune::SolverCategory::Category | category () const override |
Protected Attributes | |
| PrecondElasticityBlock & | Apre |
| The preconditioner for the elasticity operator. | |
| const Matrix & | B |
| The mortar coupling matrix. | |
| int | N |
| Number of displacement DOFs. | |
| int | M |
| Number of multiplier DOFs. | |
| LUSolver | Lpre |
| Linear solver for the multiplier block. | |
| bool | symmetric |
| Whether or not to use a symmetric preconditioner. | |
This implements a Schur-decomposition based preconditioner for the mortar-elasticity system [A B] [B' ].
The preconditioner is [Apre B] [ P] Here Apre is some preconditioner for A and P some preconditioner for S = B^TA^-1B !
|
inline |
Constructor.
| [in] | P | The multiplier block with diagonal A approximation |
| [in] | B | The mortar coupling matrix |
| [in] | Apre_ | A preconfigured preconditioner for A |
| [in] | symmetric | If true, use symmetric preconditioning |
|
inlineoverride |
Applies the preconditioner.
| [out] | v | The resulting vector |
| [in] | d | The vector to apply the preconditioner to |