KASKADE 7 development version
|
Symmetric Taylor-Hood constraint preconditioner. More...
#include <taylorHoodPreconditioner.hh>
Symmetric Taylor-Hood constraint preconditioner.
This works based on the non-symmetric Taylor-Hood preconditioner like symmetrizing a Gauss-Seidel preconditioner.
AGOP | a 2 x 2 AssembledGalerkinOperator |
Definition at line 481 of file taylorHoodPreconditioner.hh.
Public Types | |
using | domain_type = typename AGOP::Domain |
using | range_type = typename AGOP::Range |
using | field_type = typename AGOP::Scalar |
Public Member Functions | |
SymmetricTaylorHoodPreconditioner (AGOP const &K_) | |
Constructor. More... | |
void | init (domain_type &x, range_type const &y) const |
Computes an approximate solution satisfying the constraints. More... | |
virtual void | apply (domain_type &x, range_type const &y) override |
virtual void | pre (AGOP::Scalar &, AGOP::Domain &) |
Preconditioner preparation. More... | |
virtual void | post (AGOP::Scalar &x) |
Preconditioner cleanup. More... | |
virtual field_type | applyDp (AGOP::Scalar &x, AGOP::Domain const &y)=0 |
Computes \( x \leftarrow By \) and returns \( \langle By, y \rangle \). More... | |
virtual bool | requiresInitializedInput () const=0 |
Returns true if the target vector x has to be initialized to zero before calling apply or applyDp. More... | |
virtual Dune::SolverCategory::Category | category () const override |
returns the category of the operator More... | |
using Kaskade::SymmetricTaylorHoodPreconditioner< AGOP >::domain_type = typename AGOP::Domain |
Definition at line 486 of file taylorHoodPreconditioner.hh.
using Kaskade::SymmetricTaylorHoodPreconditioner< AGOP >::field_type = typename AGOP::Scalar |
Definition at line 489 of file taylorHoodPreconditioner.hh.
using Kaskade::SymmetricTaylorHoodPreconditioner< AGOP >::range_type = typename AGOP::Range |
Definition at line 487 of file taylorHoodPreconditioner.hh.
|
inline |
Constructor.
K | the saddle point operator. This needs to exist throughout the lifetime of the preconditioner, as it is held by reference. |
Definition at line 497 of file taylorHoodPreconditioner.hh.
|
inlineoverridevirtual |
Definition at line 515 of file taylorHoodPreconditioner.hh.
|
pure virtualinherited |
Computes \( x \leftarrow By \) and returns \( \langle By, y \rangle \).
|
inlineoverridevirtualinherited |
returns the category of the operator
From the Dune doxygen documentation it is unclear what this is supposed to mean. We return a dummy here.
Definition at line 242 of file symmetricOperators.hh.
|
inline |
Computes an approximate solution satisfying the constraints.
Given a right hand side \( y = [f,g] \), this computes some value \( x = [u,p] \) satisfying \( Bu = g \). The remaining constraint residual vanishes, such that \( x \) is suitable as a starting point for nullspace CG.
Definition at line 510 of file taylorHoodPreconditioner.hh.
|
inlinevirtualinherited |
Preconditioner cleanup.
The provided default implementation does nothing.
Definition at line 225 of file symmetricOperators.hh.
|
inlinevirtualinherited |
Preconditioner preparation.
The provided default implementation does nothing.
Definition at line 218 of file symmetricOperators.hh.
|
pure virtualinherited |
Returns true if the target vector x has to be initialized to zero before calling apply or applyDp.