dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Dune::Fem::LinearOperator< DomainFunction, RangeFunction > Class Template Referenceabstract

abstract affine-linear operator More...

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

Inheritance diagram for Dune::Fem::LinearOperator< DomainFunction, RangeFunction >:
Inheritance graph

Public Types

typedef DomainFunction DomainFunctionType
 type of discrete function in the operator's domain
 
typedef RangeFunction RangeFunctionType
 type of discrete function in the operator's range
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range
 

Public Member Functions

virtual bool symmetric () const
 
virtual bool positiveDefinite () const
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0
 application operator
 
virtual void finalize ()
 finalization of operator
 

Detailed Description

template<class DomainFunction, class RangeFunction = DomainFunction>
class Dune::Fem::LinearOperator< DomainFunction, RangeFunction >

abstract affine-linear operator

Operators map a discrete function onto another discrete function. Their interface is described by the abstract class Operator. Implementation should derive from LinearOperator to indicate that they model an affine linear operator of the form

\[
u\mapsto A\,u + b
\]

with a linear Operator $A$ and an affine translation $b$.

Template Parameters
DomainFunctiontype of discrete function for the domain
RangeFunctiontype of discrete function for the range (defaults to DomainFunction)
An interface class:

Member Typedef Documentation

◆ DomainFieldType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::DomainFieldType
inherited

field type of the operator's domain

◆ DomainFunctionType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunction Dune::Fem::Operator< DomainFunction, RangeFunction >::DomainFunctionType
inherited

type of discrete function in the operator's domain

◆ RangeFieldType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::RangeFieldType
inherited

field type of the operator's range

◆ RangeFunctionType

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunction Dune::Fem::Operator< DomainFunction, RangeFunction >::RangeFunctionType
inherited

type of discrete function in the operator's range

Member Function Documentation

◆ finalize()

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

Reimplemented in Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >.

◆ operator()()

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

◆ positiveDefinite()

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual bool Dune::Fem::LinearOperator< DomainFunction, RangeFunction >::positiveDefinite ( ) const
inlinevirtual

Return true if the Operator is positive definite.

◆ symmetric()

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual bool Dune::Fem::LinearOperator< DomainFunction, RangeFunction >::symmetric ( ) const
inlinevirtual

Return true if the Operator is symmetric.


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