27 #ifndef EWOMS_OVERLAPPING_OPERATOR_HH 28 #define EWOMS_OVERLAPPING_OPERATOR_HH 30 #include <dune/istl/operators.hh> 31 #include <dune/common/version.hh> 39 template <
class OverlappingMatrix,
class DomainVector,
class RangeVector>
41 :
public Dune::AssembledLinearOperator<OverlappingMatrix, DomainVector, RangeVector>
43 using Overlap =
typename OverlappingMatrix::Overlap;
48 using field_type =
typename domain_type::field_type;
54 Dune::SolverCategory::Category
category()
const override 55 {
return Dune::SolverCategory::overlapping; }
58 virtual void apply(
const DomainVector& x, RangeVector& y)
const override 66 RangeVector& y)
const override 73 virtual const OverlappingMatrix&
getmat()
const override 76 const Overlap& overlap()
const 77 {
return A_.overlap(); }
80 const OverlappingMatrix& A_;
Dune::SolverCategory::Category category() const override
the kind of computations supported by the operator. Either overlapping or non-overlapping ...
Definition: overlappingoperator.hh:54
virtual void applyscaleadd(field_type alpha, const DomainVector &x, RangeVector &y) const override
apply operator to x, scale and add:
Definition: overlappingoperator.hh:65
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: blackoilbioeffectsmodules.hh:45
virtual const OverlappingMatrix & getmat() const override
returns the matrix
Definition: overlappingoperator.hh:73
virtual void apply(const DomainVector &x, RangeVector &y) const override
apply operator to x:
Definition: overlappingoperator.hh:58
DomainVector domain_type
export types
Definition: overlappingoperator.hh:47
An overlap aware linear operator usable by ISTL.
Definition: overlappingoperator.hh:40