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_;
virtual const OverlappingMatrix & getmat() const
returns the matrix
Definition: overlappingoperator.hh:71
An overlap aware linear operator usable by ISTL.
Definition: overlappingoperator.hh:39
DomainVector domain_type
export types
Definition: overlappingoperator.hh:46
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