Class template Dune::XT::Functions::GridFunctionInterface

Inherits from Dune::XT::Common::ParametricInterface, Dune::XT::Common::WithLogger.

template<class E, size_t r, size_t rC, class R>
class Dune::XT::Functions::GridFunctionInterface<E, r, rC, R> : public Common::ParametricInterface, public Common::WithLogger<GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>>

Interface for functions which can be localized to an element.

We follow one strong assumption in dune-xt-functions: after being localized to an element, a local function (or a set of local functions) has to provide the order which is required to integrate it exactly on this element, and it should thus coincide with a polynomial of respective order on an element. While there exists non-polynomial data functions, we only have quadratures of finite order and no way to detect discontinuities of functions (thus the order of the local polynomial approximation must be provided). This encourages the user to really think about the data functions when implementing/using them, but avoids situations which could not be handled generically later on.

We follow one strong assumption in dune-xt-functions: after being localized to an element, a local function (or a set of local functions) has to provide the order which is required to integrate it exactly on this element, and it should thus coincide with a polynomial of respective order on an element. While there exists non-polynomial data functions, we only have quadratures of finite order and no way to detect discontinuities of functions (thus the order of the local polynomial approximation must be provided). This encourages the user to really think about the data functions when implementing/using them, but avoids situations which could not be handled generically later on.

Method Dune::XT::Functions::GridFunctionInterface::logging_id

template<class E, size_t r, size_t rC, class R>
std::string Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::logging_id() const

No documentation provided.

Method Dune::XT::Functions::GridFunctionInterface::operator=

template<class E, size_t r, size_t rC, class R>
ThisType &Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::operator=(const ThisType&) = delete

No documentation provided.

Method Dune::XT::Functions::GridFunctionInterface::operator=

template<class E, size_t r, size_t rC, class R>
ThisType &Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::operator=(ThisType&&) = delete

No documentation provided.

Method Dune::XT::Functions::GridFunctionInterface::static_id

template<class E, size_t r, size_t rC, class R>
static std::string Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::static_id()

No documentation provided.

Method Dune::XT::Functions::GridFunctionInterface::copy_as_grid_function

template<class E, size_t r, size_t rC, class R>
int Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::copy_as_grid_function() const

Returns a (shallow) copy of the function. actual implementation work is delegated to the private copy_as_function_impl combined with hiding copy_as_function in dervived classes, this allows us the a unique_ptr with correct type at all levels of the polymorphic hierarchy

Note

This is intended to be cheap, so make sure to share resources (but in a thread-safe way)!

Method Dune::XT::Functions::GridFunctionInterface::copy_as_grid_function_impl

template<class E, size_t r, size_t rC, class R>
virtual ThisType *Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::copy_as_grid_function_impl() const = 0

No documentation provided.

Method Dune::XT::Functions::GridFunctionInterface::local_function

template<class E, size_t r, size_t rC, class R>
int Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::local_function() const = 0

Returns the local function which can be bound to grid elements.

Note

If possible, the returned function should be able to live on its own, e.g. by copying the grid function.

Method Dune::XT::Functions::GridFunctionInterface::name

template<class E, size_t r, size_t rC, class R>
virtual std::string Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::name() const

\ }

´´These methods should be implemented in order to identify the function.‘’

\ {

Method Dune::XT::Functions::GridFunctionInterface::operator-

template<class E, size_t r, size_t rC, class R>
Functions::DifferenceGridFunction<ThisType, ThisType> Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::operator-(const ThisType &other) const

\ {

Operators emulating numeric types.

Method Dune::XT::Functions::GridFunctionInterface::operator+

template<class E, size_t r, size_t rC, class R>
Functions::SumGridFunction<ThisType, ThisType> Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::operator+(const ThisType &other) const

No documentation provided.

Constructor Dune::XT::Functions::GridFunctionInterface::GridFunctionInterface<E, r, rC, R>

template<>
template<class E, size_t r, size_t rC, class R>
explicit Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::GridFunctionInterface<E, r, rC, R>(const Common::ParameterType &param_type = {}, const std::string &logging_prefix, const std::array<bool, 3> &logging_state = Common::default_logger_state())

No documentation provided.

Constructor Dune::XT::Functions::GridFunctionInterface::GridFunctionInterface<E, r, rC, R>

template<>
template<class E, size_t r, size_t rC, class R>
Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::GridFunctionInterface<E, r, rC, R>(const ThisType &other)

No documentation provided.

Constructor Dune::XT::Functions::GridFunctionInterface::GridFunctionInterface<E, r, rC, R>

template<>
template<class E, size_t r, size_t rC, class R>
Dune::XT::Functions::GridFunctionInterface<E, r, rC, R>::GridFunctionInterface<E, r, rC, R>(ThisType&) = default

No documentation provided.

Destructor Dune::XT::Functions::GridFunctionInterface::~GridFunctionInterface<E, r, rC, R>

template<>
~GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>() override = default

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::domain_dim

const int Dune::XT::Functions::GridFunctionInterface::domain_dim

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::range_dim

const int Dune::XT::Functions::GridFunctionInterface::range_dim

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::range_dim_cols

const int Dune::XT::Functions::GridFunctionInterface::range_dim_cols

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::d

const int Dune::XT::Functions::GridFunctionInterface::d

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::r

const int Dune::XT::Functions::GridFunctionInterface::r

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::rC

const int Dune::XT::Functions::GridFunctionInterface::rC

No documentation provided.

Variable Dune::XT::Functions::GridFunctionInterface::available

const bool Dune::XT::Functions::GridFunctionInterface::available

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::ThisType

type Dune::XT::Functions::GridFunctionInterface::ThisType

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::Logger

type Dune::XT::Functions::GridFunctionInterface::Logger

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::LocalFunctionType

type Dune::XT::Functions::GridFunctionInterface::LocalFunctionType

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::ElementType

type Dune::XT::Functions::GridFunctionInterface::ElementType

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::DomainFieldType

type Dune::XT::Functions::GridFunctionInterface::DomainFieldType

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::RangeFieldType

type Dune::XT::Functions::GridFunctionInterface::RangeFieldType

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::E

type Dune::XT::Functions::GridFunctionInterface::E

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::D

type Dune::XT::Functions::GridFunctionInterface::D

No documentation provided.

Type alias Dune::XT::Functions::GridFunctionInterface::R

type Dune::XT::Functions::GridFunctionInterface::R

No documentation provided.