dune-functions  2.5.1
Public Member Functions | Protected Attributes | Friends | List of all members
Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize > Class Template Reference

Wrapper class for functions defined on a Grid. More...

#include <dune/functions/gridfunctions/gridfunction.hh>

Inheritance diagram for Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize >:
Inheritance graph

Public Member Functions

template<class F , disableCopyMove< GridFunction, F > = 0>
 GridFunction (F &&f)
 Construct from function. More...
 
 GridFunction ()=default
 
Range operator() (const Domain &x) const
 Evaluation of wrapped function. More...
 
const EntitySet & entitySet () const
 Get associated EntitySet. More...
 
Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept & asInterface ()
 Get mutable reference to wrapped object. More...
 
const Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept & asInterface () const
 Get reference to wrapped object. More...
 
virtual const std::type_info & target_type () const
 Get type of stored object. More...
 

Protected Attributes

PolymorphicSmallObject< Imp::TypeErasureWrapperInterface< Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept >, 56 > wrapped_
 

Friends

DerivativeInterface derivative (const GridFunction &t)
 
LocalFunctionInterface localFunction (const GridFunction &t)
 Get local function of wrapped function. More...
 

Detailed Description

template<class Range, class Domain, class ES, template< class > class DerivativeTraits, size_t bufferSize>
class Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize >

Wrapper class for functions defined on a Grid.

Being defined on a grid means in particular that you can evaluate the function in local coordinates of a given entities of the grid. The set of the entities this function is defined on is given by an EntitySet.

This models the Concept::GridFunction<Range(Domain), EntitySet, DerivativeTraits> concept.

Constructor & Destructor Documentation

◆ GridFunction() [1/2]

template<class Range , class Domain , class ES , template< class > class DerivativeTraits, size_t bufferSize>
template<class F , disableCopyMove< GridFunction, F > = 0>
Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize >::GridFunction ( F &&  f)
inline

Construct from function.

Template Parameters
FFunction type
Parameters
fFunction of type F

Calling derivative(DifferentiableFunction) will result in an exception if the passed function does provide a free derivative() function found via ADL.

◆ GridFunction() [2/2]

template<class Range , class Domain , class ES , template< class > class DerivativeTraits, size_t bufferSize>
Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize >::GridFunction ( )
default

Member Function Documentation

◆ asInterface() [1/2]

Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept & Dune::Functions::TypeErasureBase< Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept , Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::template Model , 56 >::asInterface ( )
inlineinherited

Get mutable reference to wrapped object.

◆ asInterface() [2/2]

const Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept & Dune::Functions::TypeErasureBase< Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept , Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::template Model , 56 >::asInterface ( ) const
inlineinherited

Get reference to wrapped object.

◆ entitySet()

template<class Range , class Domain , class ES , template< class > class DerivativeTraits, size_t bufferSize>
const EntitySet& Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize >::entitySet ( ) const
inline

Get associated EntitySet.

This is free function will be found by ADL.

◆ operator()()

template<class Range , class Domain , class ES , template< class > class DerivativeTraits, size_t bufferSize>
Range Dune::Functions::GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize >::operator() ( const Domain &  x) const
inline

Evaluation of wrapped function.

◆ target_type()

virtual const std::type_info& Dune::Functions::TypeErasureBase< Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept , Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::template Model , 56 >::target_type ( ) const
inlinevirtualinherited

Get type of stored object.

Friends And Related Function Documentation

◆ derivative

template<class Range , class Domain , class ES , template< class > class DerivativeTraits, size_t bufferSize>
DerivativeInterface derivative ( const GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize > &  t)
friend

◆ localFunction

template<class Range , class Domain , class ES , template< class > class DerivativeTraits, size_t bufferSize>
LocalFunctionInterface localFunction ( const GridFunction< Range(Domain), ES, DerivativeTraits, bufferSize > &  t)
friend

Get local function of wrapped function.

This is free function will be found by ADL.

Notice that the returned LocalFunction can only be used after it has been bound to a proper local context.

Member Data Documentation

◆ wrapped_

PolymorphicSmallObject<Imp::TypeErasureWrapperInterface<Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept >, 56 > Dune::Functions::TypeErasureBase< Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::Concept , Imp::GridFunctionTraits< Range(Domain), ES, DerivativeTraits, bufferSize >::template Model , 56 >::wrapped_
protectedinherited

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