Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector > Class Template Reference

An overlap aware linear operator usable by ISTL. More...

#include <overlappingoperator.hh>

Inheritance diagram for Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >:
Inheritance graph

Public Types

using domain_type = DomainVector
 export types More...
 
using field_type = typename domain_type::field_type
 

Public Member Functions

 OverlappingOperator (const OverlappingMatrix &A)
 
Dune::SolverCategory::Category category () const override
 the kind of computations supported by the operator. Either overlapping or non-overlapping More...
 
virtual void apply (const DomainVector &x, RangeVector &y) const override
 apply operator to x: $ y = A(x) $ More...
 
virtual void applyscaleadd (field_type alpha, const DomainVector &x, RangeVector &y) const override
 apply operator to x, scale and add: $ y = y + \alpha A(x) $ More...
 
virtual const OverlappingMatrix & getmat () const override
 returns the matrix More...
 
const Overlap & overlap () const
 

Detailed Description

template<class OverlappingMatrix, class DomainVector, class RangeVector>
class Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >

An overlap aware linear operator usable by ISTL.

Member Typedef Documentation

◆ domain_type

template<class OverlappingMatrix , class DomainVector , class RangeVector >
using Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::domain_type = DomainVector

export types

◆ field_type

template<class OverlappingMatrix , class DomainVector , class RangeVector >
using Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::field_type = typename domain_type::field_type

Constructor & Destructor Documentation

◆ OverlappingOperator()

template<class OverlappingMatrix , class DomainVector , class RangeVector >
Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::OverlappingOperator ( const OverlappingMatrix &  A)
inline

Member Function Documentation

◆ apply()

template<class OverlappingMatrix , class DomainVector , class RangeVector >
virtual void Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::apply ( const DomainVector &  x,
RangeVector &  y 
) const
inlineoverridevirtual

apply operator to x: $ y = A(x) $

◆ applyscaleadd()

template<class OverlappingMatrix , class DomainVector , class RangeVector >
virtual void Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::applyscaleadd ( field_type  alpha,
const DomainVector &  x,
RangeVector &  y 
) const
inlineoverridevirtual

apply operator to x, scale and add: $ y = y + \alpha A(x) $

◆ category()

template<class OverlappingMatrix , class DomainVector , class RangeVector >
Dune::SolverCategory::Category Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::category ( ) const
inlineoverride

the kind of computations supported by the operator. Either overlapping or non-overlapping

◆ getmat()

template<class OverlappingMatrix , class DomainVector , class RangeVector >
virtual const OverlappingMatrix & Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::getmat ( ) const
inlineoverridevirtual

returns the matrix

◆ overlap()

template<class OverlappingMatrix , class DomainVector , class RangeVector >
const Overlap & Opm::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::overlap ( ) const
inline

The documentation for this class was generated from the following file: