dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Related Functions | List of all members
Dune::Operator< DFieldType, RFieldType, DType, RType > Class Template Referenceabstract

An abstract operator Interface class for Operators. Operators are applied to Functions and the result is a Function again. More...

#include <dune/fem/operator/common/operator.hh>

Inheritance diagram for Dune::Operator< DFieldType, RFieldType, DType, RType >:
Inheritance graph

Public Types

typedef DType DomainType
 
typedef RType RangeType
 
typedef DFieldType DomainFieldType
 
typedef RFieldType RangeFieldType
 
typedef DType DomainFunctionType
 type of discrete function in the operator's domain
 
typedef RType RangeFunctionType
 type of discrete function in the operator's range
 

Public Member Functions

void operator() (const DomainType &arg, RangeType &dest) const
 Application operator that applies all operators in the linear combination stack.
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator
 
virtual void finalize ()
 finalization of operator
 

Protected Types

typedef Fem::Mapping< DFieldType, RFieldType, DType, RType > MappingType
 type of mapping base class
 

Protected Member Functions

virtual void apply (const DomainType &arg, RangeType &dest) const
 The method apply calls the application operator. The method has to be implemented here, because this method called when a mapping list is evaluated.
 

Related Functions

(Note that these are not member functions.)

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator+ (const Mapping< DFieldType, RFieldType, DType, RType > &a, const Mapping< DFieldType, RFieldType, DType, RType > &b)
 add two mappings
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator- (const Mapping< DFieldType, RFieldType, DType, RType > &a, const Mapping< DFieldType, RFieldType, DType, RType > &b)
 substract two mappings
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* (const Mapping< DFieldType, RFieldType, DType, RType > &mapping, const RFieldType &factor)
 scale mapping with factor
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* (const RFieldType &factor, const Mapping< DFieldType, RFieldType, DType, RType > &mapping)
 scale mapping with factor
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ (const Mapping< DFieldType, RFieldType, DType, RType > &mapping, const RFieldType &factor)
 operator / for mappings
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ (const RFieldType &factor, const Mapping< DFieldType, RFieldType, DType, RType > &mapping)
 operator / for mappings
 

Detailed Description

template<typename DFieldType, typename RFieldType, typename DType, typename RType>
class Dune::Operator< DFieldType, RFieldType, DType, RType >

An abstract operator Interface class for Operators. Operators are applied to Functions and the result is a Function again.

An interface class:

Member Typedef Documentation

◆ DomainFieldType

template<typename DFieldType , typename RFieldType , typename DType , typename RType >
typedef DFieldType Dune::Operator< DFieldType, RFieldType, DType, RType >::DomainFieldType

◆ DomainFunctionType

typedef DType Dune::Fem::Operator< DType , RType >::DomainFunctionType
inherited

type of discrete function in the operator's domain

◆ DomainType

template<typename DFieldType , typename RFieldType , typename DType , typename RType >
typedef DType Dune::Operator< DFieldType, RFieldType, DType, RType >::DomainType

◆ MappingType

template<typename DFieldType , typename RFieldType , typename DType , typename RType >
typedef Fem::Mapping<DFieldType,RFieldType,DType,RType> Dune::Operator< DFieldType, RFieldType, DType, RType >::MappingType
protected

type of mapping base class

◆ RangeFieldType

template<typename DFieldType , typename RFieldType , typename DType , typename RType >
typedef RFieldType Dune::Operator< DFieldType, RFieldType, DType, RType >::RangeFieldType

◆ RangeFunctionType

typedef RType Dune::Fem::Operator< DType , RType >::RangeFunctionType
inherited

type of discrete function in the operator's range

◆ RangeType

template<typename DFieldType , typename RFieldType , typename DType , typename RType >
typedef RType Dune::Operator< DFieldType, RFieldType, DType, RType >::RangeType

Member Function Documentation

◆ apply()

template<typename DFieldType , typename RFieldType , typename DType , typename RType >
virtual void Dune::Operator< DFieldType, RFieldType, DType, RType >::apply ( const DomainType arg,
RangeType dest 
) const
inlineprotectedvirtual

The method apply calls the application operator. The method has to be implemented here, because this method called when a mapping list is evaluated.

Parameters
[in]argargument
[out]destdestination

Reimplemented from Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >.

◆ finalize()

virtual void Dune::Fem::Operator< DType , RType >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

◆ operator()() [1/2]

virtual void Dune::Fem::Operator< DType , RType >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

application operator

Parameters
[in]uargument discrete function
[out]wdestination discrete function
Note
This method has to be implemented by all derived classes.

Implemented in Dune::Fem::VtxProjection< DType, RType >.

◆ operator()() [2/2]

template<typename DFieldType , typename RFieldType , class DType , class RType >
void Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >::operator() ( const DomainType arg,
RangeType dest 
) const
inlineinherited

Application operator that applies all operators in the linear combination stack.

Parameters
[in]argargument
[out]destdestination

Friends And Related Function Documentation

◆ operator*() [1/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* ( const Mapping< DFieldType, RFieldType, DType, RType > &  mapping,
const RFieldType &  factor 
)
related

scale mapping with factor

Parameters
[in]mappingMapping which is scaled
[in]factorfactor with which mapping is scaled
Returns
new object mapping

◆ operator*() [2/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* ( const RFieldType &  factor,
const Mapping< DFieldType, RFieldType, DType, RType > &  mapping 
)
related

scale mapping with factor

Parameters
[in]factorfactor with which mapping is scaled
[in]mappingMapping which is scaled
Returns
new object mapping

◆ operator+()

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator+ ( const Mapping< DFieldType, RFieldType, DType, RType > &  a,
const Mapping< DFieldType, RFieldType, DType, RType > &  b 
)
related

add two mappings

Parameters
[in]amapping 1
[in]bmapping 2
Returns
new object mapping

◆ operator-()

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator- ( const Mapping< DFieldType, RFieldType, DType, RType > &  a,
const Mapping< DFieldType, RFieldType, DType, RType > &  b 
)
related

substract two mappings

Parameters
[in]amapping 1
[in]bmapping 2
Returns
new object mapping

◆ operator/() [1/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ ( const Mapping< DFieldType, RFieldType, DType, RType > &  mapping,
const RFieldType &  factor 
)
related

operator / for mappings

Parameters
[in]mappingmapping which is divided
[in]factorf factor by which result of mapping is divided
Returns
new object mapping

◆ operator/() [2/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ ( const RFieldType &  factor,
const Mapping< DFieldType, RFieldType, DType, RType > &  mapping 
)
related

operator / for mappings

Parameters
[in]factorby which result of mapping is divided
[in]mappingwhich is divided
Returns
new object mapping

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