Class template Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>¶
Inherits from Dune::XT::Common::ParametricInterface, Dune::XT::Common::WithLogger.
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
class Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField> : 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.
Method Dune::XT::Functions::GridFunctionInterface::logging_id¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
std::string Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::logging_id() const¶ No documentation provided.
Method Dune::XT::Functions::GridFunctionInterface::operator=¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
ThisType &Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::operator=(const ThisType&) = delete¶ No documentation provided.
Method Dune::XT::Functions::GridFunctionInterface::operator=¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
ThisType &Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::operator=(ThisType&&) = delete¶ No documentation provided.
Method Dune::XT::Functions::GridFunctionInterface::static_id¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
static std::string Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::static_id()¶ No documentation provided.
Method Dune::XT::Functions::GridFunctionInterface::copy_as_grid_function¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
std::unique_ptr<ThisType> Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::copy_as_grid_function() const¶ Returns a (shallow) copy of the function. actual implementation work is delegated to the private
copy_as_function_implcombined with hidingcopy_as_functionin dervived classes, this allows us the a unique_ptr with correct type at all levels of the polymorphic hierarchyNote
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 Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual ThisType *Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::copy_as_grid_function_impl() const = 0¶ No documentation provided.
Method Dune::XT::Functions::GridFunctionInterface::local_function¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual std::unique_ptr<LocalFunctionType> Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::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 Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual std::string Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::name() const¶ \ }
´´These methods should be implemented in order to identify the function.‘’
\ {
Method Dune::XT::Functions::GridFunctionInterface::operator-¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Functions::DifferenceGridFunction<ThisType, ThisType> Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::operator-(const ThisType &other) const¶ \ {
Operators emulating numeric types.
Method Dune::XT::Functions::GridFunctionInterface::operator+¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Functions::SumGridFunction<ThisType, ThisType> Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::operator+(const ThisType &other) const¶ No documentation provided.
Constructor Dune::XT::Functions::GridFunctionInterface::GridFunctionInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
explicit Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::GridFunctionInterface(const Common::ParameterType ¶m_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¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::GridFunctionInterface(const ThisType &other)¶ No documentation provided.
Constructor Dune::XT::Functions::GridFunctionInterface::GridFunctionInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::GridFunctionInterface(ThisType&) = default¶ No documentation provided.
Destructor Dune::XT::Functions::GridFunctionInterface::~GridFunctionInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::~GridFunctionInterface() override = default¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::domain_dim¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::domain_dim¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::range_dim¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::range_dim¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::range_dim_cols¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::range_dim_cols¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::d¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::d¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::r¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::r¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::rC¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::rC¶ No documentation provided.
Variable Dune::XT::Functions::GridFunctionInterface::available¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const bool Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::available¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::ThisType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::ThisType = GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::Logger¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::Logger = Common::WithLogger<GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>>¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::LocalFunctionType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::LocalFunctionType = ElementFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::ElementType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::ElementType = typename LocalFunctionType::ElementType¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::DomainFieldType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::DomainFieldType = typename LocalFunctionType::DomainFieldType¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::RangeFieldType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::RangeFieldType = typename LocalFunctionType::RangeFieldType¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::E¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::E = typename LocalFunctionType::E¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::D¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::D = typename LocalFunctionType::D¶ No documentation provided.
Type alias Dune::XT::Functions::GridFunctionInterface::R¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::R = typename LocalFunctionType::R¶ No documentation provided.
Function template Dune::XT::Functions::GridFunctionInterface::operator*¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
template<class OtherType>
std::enable_if_t<is_grid_function<OtherType>::value && internal::CombinedHelper<ThisType, OtherType, CombinationType::product>::available, Functions::ProductGridFunction<ThisType, as_grid_function_interface_t<OtherType>>> Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::operator*(const OtherType &other) const¶ No documentation provided.
Function template Dune::XT::Functions::GridFunctionInterface::operator/¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
template<class OtherType>
std::enable_if_t<is_grid_function<OtherType>::value && internal::CombinedHelper<ThisType, OtherType, CombinationType::fraction>::available, Functions::FractionGridFunction<ThisType, as_grid_function_interface_t<OtherType>>> Dune::XT::Functions::GridFunctionInterface<Element, rangeDim, rangeDimCols, RangeField>::operator/(const OtherType &other) const¶ No documentation provided.