12 #ifndef MORTAR_SCHUR_HPP_
13 #define MORTAR_SCHUR_HPP_
15 #include <dune/istl/matrixmatrix.hh>
20 namespace Elasticity {
47 void apply(
const Vector& x, Vector& y)
const
61 Vector temp(temp1.size());
63 Dune::InverseOperatorResult res;
66 op.apply(temp, temp1);
68 B.usmtv(alpha, temp, y);
Helper class with some matrix operations.
Helper class for abstracting differences between inverse operators and preconditioners in DUNE...
The category the preconditioner is part of.
Definition: mortar_schur.hpp:32
This implements a operator evaluation for the schur mortar-block S = B^T*A^-1*B ! ...
Definition: mortar_schur.hpp:27
const Matrix & B
Reference to the mortar coupling matrix.
Definition: mortar_schur.hpp:72
Class abstracting a preconditioner or an inverse operator.
Definition: applier.hpp:23
T & Ai
Reference to solver or evaluator for inverse operator.
Definition: mortar_schur.hpp:71
void applyscaleadd(field_type alpha, const Vector &x, Vector &y) const
Apply the multiplier block with an embedded axpy.
Definition: mortar_schur.hpp:57
MortarBlockEvaluator(T &Ai_, const Matrix &B_)
Constructor.
Definition: mortar_schur.hpp:38
void apply(const Vector &x, Vector &y) const
Apply the multiplier block.
Definition: mortar_schur.hpp:47
OperatorApplier< T > op
Applier for the preconditioner / inverse solver.
Definition: mortar_schur.hpp:73