dune-fem  2.4.1-rc
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider > Class Template Reference

native interpolation of a discrete function space More...

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/common/interpolation.hh>

Public Types

typedef DiscreteFunction DiscreteFunctionType
 
typedef DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 

Public Member Functions

template<class GridFunction >
void operator() (const GridFunction &u, DiscreteFunctionType &v)
 interpolate a grid function More...
 

Static Public Member Functions

template<class GridFunction >
static void apply (const GridFunction &u, DiscreteFunctionType &v)
 interpolate a grid function More...
 

Detailed Description

template<class DiscreteFunction, class IteratorProvider = Fem::IteratorProvider< typename DiscreteFunction::DiscreteFunctionSpaceType >>
class Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >

native interpolation of a discrete function space

By definition of its degrees of freedom, each discrete function space has a native interpolation, which can be computed very quickly.

For example, the native interpolation of a Lagrange discrete function space is the evaluation in its Lagrange points. An orthonormal DG space would instead perform an $L^2$-Projection.

The actual implementation must locally be provided by the discrete function space through the method

template< class LocalFunction, class LocalDofVector >
void interpolate ( const LocalFunction &f, LocalDofVector &dofs ) const;
Template Parameters
DiscreteFunctiontype of discrete function to interpolate to

Member Typedef Documentation

template<class DiscreteFunction , class IteratorProvider = Fem::IteratorProvider< typename DiscreteFunction::DiscreteFunctionSpaceType >>
typedef DiscreteFunctionType::DiscreteFunctionSpaceType Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >::DiscreteFunctionSpaceType
template<class DiscreteFunction , class IteratorProvider = Fem::IteratorProvider< typename DiscreteFunction::DiscreteFunctionSpaceType >>
typedef DiscreteFunction Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >::DiscreteFunctionType

Member Function Documentation

template<class DiscreteFunction , class IteratorProvider = Fem::IteratorProvider< typename DiscreteFunction::DiscreteFunctionSpaceType >>
template<class GridFunction >
static void Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >::apply ( const GridFunction &  u,
DiscreteFunctionType v 
)
inlinestatic

interpolate a grid function

Parameters
[in]ugrid function to interpolate
[out]vdiscrete function to represent the interpolation

References Dune::Fem::IteratorProvider< DiscreteFunctionSpace >::begin(), and Dune::Fem::IteratorProvider< DiscreteFunctionSpace >::end().

Referenced by Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >::operator()().

template<class DiscreteFunction , class IteratorProvider = Fem::IteratorProvider< typename DiscreteFunction::DiscreteFunctionSpaceType >>
template<class GridFunction >
void Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >::operator() ( const GridFunction &  u,
DiscreteFunctionType v 
)
inline

interpolate a grid function

Parameters
[in]ugrid function to interpolate
[out]vdiscrete function to represent the interpolation

References Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >::apply().


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