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

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

#include <overlappingoperator.hh>

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

Public Types

enum  { category = Dune::SolverCategory::overlapping }
 
typedef DomainVector domain_type
 export types More...
 
typedef domain_type::field_type field_type
 

Public Member Functions

 OverlappingOperator (const OverlappingMatrix &A)
 
virtual void apply (const DomainVector &x, RangeVector &y) const
 apply operator to x: $ y = A(x) $ More...
 
virtual void applyscaleadd (field_type alpha, const DomainVector &x, RangeVector &y) const
 apply operator to x, scale and add: $ y = y + \alpha A(x) $ More...
 
virtual const OverlappingMatrix & getmat () const
 returns the matrix More...
 
const Overlap & overlap () const
 

Detailed Description

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

An overlap aware linear operator usable by ISTL.

Member Typedef Documentation

template<class OverlappingMatrix , class DomainVector , class RangeVector >
typedef DomainVector Ewoms::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::domain_type

export types

template<class OverlappingMatrix , class DomainVector , class RangeVector >
typedef domain_type::field_type Ewoms::Linear::OverlappingOperator< OverlappingMatrix, DomainVector, RangeVector >::field_type

Member Enumeration Documentation

template<class OverlappingMatrix , class DomainVector , class RangeVector >
anonymous enum
Enumerator
category 

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

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

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

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

returns the matrix

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

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