dune-fem 2.8.0
|
A mapping from one vector space into another This class describes a general mapping from the domain vector space into the range vector space. It can also be used to construct linear combinations of mappings. More...
#include <dune/fem/operator/common/mapping.hh>
Public Types | |
typedef DType | DomainType |
domain vector space (for usage in derived classes) This can either be for example a discrete function (in case of operators) or a FieldVector (in case of discrete functions) | |
typedef RType | RangeType |
range vector space (for usage in derived classes) This can either be for example a discrete function (in case of operators) or a FieldVector (in case of discrete functions) | |
typedef DFieldType | DomainFieldType |
type of field the domain vector space, i.e. double | |
typedef RFieldType | RangeFieldType |
type of field the range vector space, i.e. double | |
Public Member Functions | |
Mapping () | |
create Mappiung with empty linear combination | |
virtual | ~Mapping () |
delete linear combination if necessary | |
MappingType & | operator= (const MappingType &mapping) |
assignment of mapping mapping | |
void | operator() (const DomainType &arg, RangeType &dest) const |
Application operator that applies all operators in the linear combination stack. | |
Protected Types | |
typedef Mapping< DFieldType, RFieldType, DType, RType > | MappingType |
type of mapping | |
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 | |
A mapping from one vector space into another This class describes a general mapping from the domain vector space into the range vector space. It can also be used to construct linear combinations of mappings.
This two-sided character has the following consequence: when you address an object of type mapping or any of its descendants through a reference or pointer of type Mapping, the linear combination defined for that mapping is evaluated. On the other hand, if you address through a reference of the type of any of its descendants (notably Operator and Function), you'll get the functionality specific for that type.
typedef DFieldType Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >::DomainFieldType |
type of field the domain vector space, i.e. double
typedef DType Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >::DomainType |
domain vector space (for usage in derived classes) This can either be for example a discrete function (in case of operators) or a FieldVector (in case of discrete functions)
|
protected |
type of mapping
typedef RFieldType Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >::RangeFieldType |
type of field the range vector space, i.e. double
typedef RType Dune::Fem::Mapping< DFieldType, RFieldType, DType, RType >::RangeType |
range vector space (for usage in derived classes) This can either be for example a discrete function (in case of operators) or a FieldVector (in case of discrete functions)
|
inline |
create Mappiung with empty linear combination
|
inlinevirtual |
delete linear combination if necessary
|
inline |
Application operator that applies all operators in the linear combination stack.
[in] | arg | argument |
[out] | dest | destination |
|
inline |
assignment of mapping mapping
[in] | mapping | which is copied |
|
related |
scale mapping with factor
[in] | mapping | Mapping which is scaled |
[in] | factor | factor with which mapping is scaled |
|
related |
scale mapping with factor
[in] | factor | factor with which mapping is scaled |
[in] | mapping | Mapping which is scaled |
|
related |
add two mappings
[in] | a | mapping 1 |
[in] | b | mapping 2 |
|
related |
substract two mappings
[in] | a | mapping 1 |
[in] | b | mapping 2 |
|
related |
operator / for mappings
[in] | mapping | mapping which is divided |
[in] | factor | f factor by which result of mapping is divided |
|
related |
operator / for mappings
[in] | factor | by which result of mapping is divided |
[in] | mapping | which is divided |