Dune-Functions 2.11
Loading...
Searching...
No Matches
Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits > Class Template Reference

A wrapper representing a fine grid function on a gridview. More...

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

Public Types

using GridView = GV
using EntitySet = Dune::Functions::GridViewEntitySet<GridView, 0>
using Element = typename EntitySet::Element
using Domain = typename EntitySet::GlobalCoordinate
using LocalDomain = typename EntitySet::LocalCoordinate
using Range = std::decay_t<decltype(std::declval<RawGridFunction>()(std::declval<Domain>()))>
using LocalFunction = FineLocalFunctionOnCoarseGridView

Public Member Functions

 FineFunctionOnCoarseGridView (const GridFunction &function, const GridView &gridView)
 Create FineFunctionOnCoarseGridView from GridFunction and GridView.
 FineFunctionOnCoarseGridView (GridFunction &&function, const GridView &gridView)
 Create FineFunctionOnCoarseGridView from GridFunction and GridView.
Range operator() (const Domain &x) const
 Evaluate function in global coordinates.
const EntitySetentitySet () const
 Return the EntitySet associated to this GridViewFunction.

Protected Attributes

GridFunction function_
EntitySet entitySet_

Friends

auto derivative (const FineFunctionOnCoarseGridView &f)
 Obtain global derivative of this function.
LocalFunction localFunction (const FineFunctionOnCoarseGridView &f)
 Create a LocalFunction for evaluation in local coordinates.

Detailed Description

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
class Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >

A wrapper representing a fine grid function on a gridview.

Template Parameters
GridFunctionType of the wrapped grid function
GVType of the target grid view this function should act on

This wraps a grid function such that it can be used as a GridViewFunction on a user-provided GridView under the following assumptions:

  1. The grid function's entity set and the GridView belong to the same grid.
  2. The entity set is finer than the GridView in the sense that any element from the entity has an ancestor in the GridView.

Member Typedef Documentation

◆ Domain

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::Domain = typename EntitySet::GlobalCoordinate

◆ Element

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::Element = typename EntitySet::Element

◆ EntitySet

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::EntitySet = Dune::Functions::GridViewEntitySet<GridView, 0>

◆ GridView

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::GridView = GV

◆ LocalDomain

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::LocalDomain = typename EntitySet::LocalCoordinate

◆ LocalFunction

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::LocalFunction = FineLocalFunctionOnCoarseGridView

◆ Range

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
using Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::Range = std::decay_t<decltype(std::declval<RawGridFunction>()(std::declval<Domain>()))>

Constructor & Destructor Documentation

◆ FineFunctionOnCoarseGridView() [1/2]

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::FineFunctionOnCoarseGridView ( const GridFunction & function,
const GridView & gridView )
inline

Create FineFunctionOnCoarseGridView from GridFunction and GridView.

Parameters
functionThe GridFunction that should be represented on gridView
gridViewThe GridFunction should be represented on this gridView

◆ FineFunctionOnCoarseGridView() [2/2]

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::FineFunctionOnCoarseGridView ( GridFunction && function,
const GridView & gridView )
inline

Create FineFunctionOnCoarseGridView from GridFunction and GridView.

Parameters
functionThe GridFunction that should be represented on gridView
gridViewThe GridFunction should be represented on this gridView

Member Function Documentation

◆ entitySet()

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
const EntitySet & Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::entitySet ( ) const
inline

Return the EntitySet associated to this GridViewFunction.

◆ operator()()

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
Range Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::operator() ( const Domain & x) const
inline

Evaluate function in global coordinates.

◆ derivative

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
auto derivative ( const FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits > & f)
friend

Obtain global derivative of this function.

◆ localFunction

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
LocalFunction localFunction ( const FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits > & f)
friend

Create a LocalFunction for evaluation in local coordinates.

Member Data Documentation

◆ entitySet_

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
EntitySet Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::entitySet_
protected

◆ function_

template<class GridFunction, class GV, template< class > class DerivativeTraits = Dune::Functions::DefaultDerivativeTraits>
GridFunction Dune::Functions::FineFunctionOnCoarseGridView< GridFunction, GV, DerivativeTraits >::function_
protected

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