27#ifndef EWOMS_OVERLAPPING_OPERATOR_HH
28#define EWOMS_OVERLAPPING_OPERATOR_HH
30#include <dune/istl/operators.hh>
31#include <dune/common/version.hh>
39template <
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; }
73 virtual const OverlappingMatrix&
getmat()
const override
76 const Overlap& overlap()
const
77 {
return A_.overlap(); }
80 const OverlappingMatrix& A_;
An overlap aware linear operator usable by ISTL.
Definition overlappingoperator.hh:42
virtual void apply(const DomainVector &x, RangeVector &y) const override
apply operator to x:
Definition overlappingoperator.hh:58
virtual const OverlappingMatrix & getmat() const override
returns the matrix
Definition overlappingoperator.hh:73
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
DomainVector domain_type
export types
Definition overlappingoperator.hh:47
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242