Dune-Functions 2.11
Loading...
Searching...
No Matches
Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits > Class Template Reference

Class wrapping any differentiable function as grid function. More...

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

Inheritance diagram for Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >:
Inheritance graph

Public Types

using Signature = Range(Domain)
using RawSignature = typename SignatureTraits<Signature>::RawSignature
using DerivativeSignature = typename DerivativeTraits<RawSignature>::Range(Domain)
using GridView = GV
using EntitySet = GridViewEntitySet<GridView, 0>
using Element = typename EntitySet::Element
using Geometry = typename Element::Geometry
using DerivativeDummy = DifferentiableFunction<DerivativeSignature>
using GlobalRawDerivative = decltype(Imp::derivativeIfImplemented<DerivativeDummy, F>(std::declval<F>()))
using Derivative = AnalyticGridViewFunction<DerivativeSignature, GridView, GlobalRawDerivative, DerivativeTraits>
using LocalDomain = typename EntitySet::LocalCoordinate
using LocalFunction = typename Imp::LocalAnalyticGridViewFunction<Range(LocalDomain), GridView, F, LocalDerivativeTraits<EntitySet, DerivativeTraits>::template Traits>

Public Member Functions

template<class FT>
 AnalyticGridViewFunction (FT &&f, const GridView &gridView)
 Create the grid-function by wrapping a function f and create a GridViewEntitySet.
Range operator() (const Domain &x) const
 Evaluate the wrapped function f directly in global coordinates x.
const EntitySetentitySet () const
 Return the set of entities this local-function can be bound to.

Friends

Derivative derivative (const AnalyticGridViewFunction &t)
 Create a derivative grid-function by wrapping the derivative of f.
LocalFunction localFunction (const AnalyticGridViewFunction &t)
 Construct the associated local-function.

(Note that these are not member symbols.)

auto makeAnalyticGridViewFunction (F &&f, const GridView &gridView)
 Create an AnalyticGridViewFunction from a function and a grid view.

Detailed Description

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
class Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >

Class wrapping any differentiable function as grid function.

Member Typedef Documentation

◆ Derivative

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::Derivative = AnalyticGridViewFunction<DerivativeSignature, GridView, GlobalRawDerivative, DerivativeTraits>

◆ DerivativeDummy

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::DerivativeDummy = DifferentiableFunction<DerivativeSignature>

◆ DerivativeSignature

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::DerivativeSignature = typename DerivativeTraits<RawSignature>::Range(Domain)

◆ Element

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::Element = typename EntitySet::Element

◆ EntitySet

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::EntitySet = GridViewEntitySet<GridView, 0>

◆ Geometry

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::Geometry = typename Element::Geometry

◆ GlobalRawDerivative

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::GlobalRawDerivative = decltype(Imp::derivativeIfImplemented<DerivativeDummy, F>(std::declval<F>()))

◆ GridView

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::GridView = GV

◆ LocalDomain

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::LocalDomain = typename EntitySet::LocalCoordinate

◆ LocalFunction

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::LocalFunction = typename Imp::LocalAnalyticGridViewFunction<Range(LocalDomain), GridView, F, LocalDerivativeTraits<EntitySet, DerivativeTraits>::template Traits>

◆ RawSignature

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::RawSignature = typename SignatureTraits<Signature>::RawSignature

◆ Signature

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
using Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::Signature = Range(Domain)

Constructor & Destructor Documentation

◆ AnalyticGridViewFunction()

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
template<class FT>
Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::AnalyticGridViewFunction ( FT && f,
const GridView & gridView )
inline

Create the grid-function by wrapping a function f and create a GridViewEntitySet.

Member Function Documentation

◆ entitySet()

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
const EntitySet & Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::entitySet ( ) const
inline

Return the set of entities this local-function can be bound to.

◆ operator()()

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
Range Dune::Functions::AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits >::operator() ( const Domain & x) const
inline

Evaluate the wrapped function f directly in global coordinates x.

◆ derivative

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
Derivative derivative ( const AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits > & t)
friend

Create a derivative grid-function by wrapping the derivative of f.

◆ localFunction

template<class Range, class Domain, class GV, class F, template< class > class DerivativeTraits>
LocalFunction localFunction ( const AnalyticGridViewFunction< Range(Domain), GV, F, DerivativeTraits > & t)
friend

Construct the associated local-function.

◆ makeAnalyticGridViewFunction()

auto makeAnalyticGridViewFunction ( F && f,
const GridView & gridView )
related

Create an AnalyticGridViewFunction from a function and a grid view.

The returned function supports localFunction() and stores a copy of the original function.

Parameters
fA function object supporting evaluation with global coordinates of the passed gridView.
gridViewThe GridView the function should act on.
Returns
A function that models the GridFunction interface.

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