DUNE-FEM (unstable)

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>

Public Types

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. More...
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator More...
 
virtual void finalize ()
 finalization of operator More...
 

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. More...
 

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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 

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 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 >.

References Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >::operator()().

◆ 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

Referenced by Dune::Operator< DFieldType, RFieldType, DType, RType >::apply().

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

References Dune::Fem::MappingOperators::multiplyMapping().

◆ 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

References Dune::Fem::MappingOperators::multiplyMapping().

◆ 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

References Dune::Fem::MappingOperators::addMappings().

◆ 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

References Dune::Fem::MappingOperators::substractMappings().

◆ 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

References Dune::Fem::MappingOperators::divideMapping().

◆ 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

References Dune::Fem::MappingOperators::divideMapping().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 27, 22:29, 2024)