27 #ifndef EWOMS_OVERLAPPING_OPERATOR_HH 28 #define EWOMS_OVERLAPPING_OPERATOR_HH 30 #include <dune/istl/operators.hh> 38 template <
class OverlappingMatrix,
class DomainVector,
class RangeVector>
40 :
public Dune::AssembledLinearOperator<OverlappingMatrix, DomainVector, RangeVector>
42 typedef typename OverlappingMatrix::Overlap Overlap;
47 typedef typename domain_type::field_type field_type;
50 enum { category = Dune::SolverCategory::overlapping };
56 virtual void apply(
const DomainVector& x, RangeVector& y)
const 71 virtual const OverlappingMatrix&
getmat()
const 74 const Overlap& overlap()
const 75 {
return A_.overlap(); }
78 const OverlappingMatrix& A_;
Definition: baseauxiliarymodule.hh:37
virtual void apply(const DomainVector &x, RangeVector &y) const
apply operator to x:
Definition: overlappingoperator.hh:56
virtual void applyscaleadd(field_type alpha, const DomainVector &x, RangeVector &y) const
apply operator to x, scale and add:
Definition: overlappingoperator.hh:63
An overlap aware linear operator usable by ISTL.
Definition: overlappingoperator.hh:39
DomainVector domain_type
export types
Definition: overlappingoperator.hh:46
virtual const OverlappingMatrix & getmat() const
returns the matrix
Definition: overlappingoperator.hh:71