Class template Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>

Inherits from Dune::XT::Functions::ElementFunctionSetInterface.

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
class Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField> : public ElementFunctionSetInterface<Element, range_dim, range_dim_cols, RangeField>

Interface for a globalvalued function, which can be evaluated locally on one Element.

Method Dune::XT::Functions::ElementFunctionInterface::operator=

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
ThisType &Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator=(const ThisType &other) = default

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::operator=

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
ThisType &Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator=(ThisType &&source) noexcept = default

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::evaluate

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual RangeReturnType Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::evaluate(const DomainType&, const Common::Parameter& = {}) const

\ }

´´These methods should be implemented to define the functionality of the function.‘’

\ {

Method Dune::XT::Functions::ElementFunctionInterface::jacobian

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual DerivativeRangeReturnType Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::jacobian(const DomainType&, const Common::Parameter& = {}) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::derivative

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual DerivativeRangeReturnType Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::derivative(const std::array<size_t, d>&, const DomainType&, const Common::Parameter& = {}) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::evaluate

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual R Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::evaluate(const DomainType &point_in_reference_element, const size_t row, const size_t col = 0, const Common::Parameter &param = {}) const

\ }

´´These methods are used to access individual range dimensions and should be overridden to improve their

performance.‘’ \ {

Method Dune::XT::Functions::ElementFunctionInterface::jacobian

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual SingleDerivativeRangeReturnType Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::jacobian(const DomainType &point_in_reference_element, const size_t row, const size_t col = 0, const Common::Parameter &param = {}) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::derivative

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual SingleDerivativeRangeReturnType Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::derivative(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, const size_t row, const size_t col = 0, const Common::Parameter &param = {}) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::evaluate

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::evaluate(const DomainType &point_in_reference_element, DynamicRangeType &result, const Common::Parameter &param = {}) const

\ }

´´These methods are provided for large dimensions (when RangeType or DerivativeRangeType do not fit on the

stack) and should be overridden to improve their performance.‘’ \ {

Method Dune::XT::Functions::ElementFunctionInterface::jacobian

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::jacobian(const DomainType &point_in_reference_element, DynamicDerivativeRangeType &result, const Common::Parameter &param = {}) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::derivative

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::derivative(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, DynamicDerivativeRangeType &result, const Common::Parameter &param = {}) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::size

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
size_t Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::size(const Common::Parameter& = {}) const override

\ {

´´These methods are required by ElementFunctionSetInterface and are provided by this interface.‘’

\ {

Method Dune::XT::Functions::ElementFunctionInterface::max_size

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
size_t Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::max_size(const Common::Parameter& = {}) const override

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::evaluate

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
void Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::evaluate(const DomainType &point_in_reference_element, std::vector<RangeType> &result, const Common::Parameter &param = {}) const override

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::jacobians

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
void Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::jacobians(const DomainType &point_in_reference_element, std::vector<DerivativeRangeType> &result, const Common::Parameter &param = {}) const override

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::derivatives

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
void Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::derivatives(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, std::vector<DerivativeRangeType> &result, const Common::Parameter &param = {}) const override

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::operator-

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
ConstDifferenceElementFunction<ThisType, ThisType> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator-(const ThisType &other) const

\ {

Numerical operators (const variants).

Method Dune::XT::Functions::ElementFunctionInterface::operator+

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
ConstSumElementFunction<ThisType, ThisType> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator+(const ThisType &other) const

No documentation provided.

Method Dune::XT::Functions::ElementFunctionInterface::operator-

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
DifferenceElementFunction<ThisType, ThisType> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator-(ThisType &other)

\ {

Numerical operators (mutable variants).

Method Dune::XT::Functions::ElementFunctionInterface::operator+

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
SumElementFunction<ThisType, ThisType> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator+(ThisType &other)

No documentation provided.

Constructor Dune::XT::Functions::ElementFunctionInterface::ElementFunctionInterface

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
explicit Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::ElementFunctionInterface(const XT::Common::ParameterType &param_type = {})

\ }

Constructor Dune::XT::Functions::ElementFunctionInterface::ElementFunctionInterface

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::ElementFunctionInterface(const ThisType &other) = default

No documentation provided.

Constructor Dune::XT::Functions::ElementFunctionInterface::ElementFunctionInterface

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::ElementFunctionInterface(ThisType &&source) noexcept = default

No documentation provided.

Destructor Dune::XT::Functions::ElementFunctionInterface::~ElementFunctionInterface

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::~ElementFunctionInterface() override = default

No documentation provided.

Type alias Dune::XT::Functions::ElementFunctionInterface::BaseType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::BaseType = ElementFunctionSetInterface<Element, range_dim, range_dim_cols, RangeField>

No documentation provided.

Type alias Dune::XT::Functions::ElementFunctionInterface::ThisType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::ThisType = ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>

No documentation provided.

Type alias Dune::XT::Functions::ElementFunctionInterface::RangeReturnType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::RangeReturnType = typename RangeSelector::return_type

\ {

``These types are the standard types to be used for LocalFunctionInterface.‘’

Type alias Dune::XT::Functions::ElementFunctionInterface::DerivativeRangeReturnType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::DerivativeRangeReturnType = typename DerivativeRangeSelector::return_type

No documentation provided.

Type alias Dune::XT::Functions::ElementFunctionInterface::SingleDerivativeRangeReturnType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::SingleDerivativeRangeReturnType = typename DerivativeRangeSelector::return_single_type

No documentation provided.

Function template Dune::XT::Functions::ElementFunctionInterface::operator*

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
template<class OtherType>
std::enable_if_t<is_element_function<OtherType>::value && internal::CombinedHelper<ThisType, OtherType, CombinationType::product>::available, ConstProductElementFunction<ThisType, as_element_function_interface_t<OtherType>>> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator*(const OtherType &other) const

No documentation provided.

Function template Dune::XT::Functions::ElementFunctionInterface::operator/

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
template<class OtherType>
std::enable_if_t<is_element_function<OtherType>::value && internal::CombinedHelper<ThisType, OtherType, CombinationType::fraction>::available, ConstFractionElementFunction<ThisType, as_element_function_interface_t<OtherType>>> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator/(const OtherType &other) const

No documentation provided.

Function template Dune::XT::Functions::ElementFunctionInterface::operator*

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
template<class OtherType>
std::enable_if_t<is_element_function<OtherType>::value && internal::CombinedHelper<ThisType, OtherType, CombinationType::product>::available, ProductElementFunction<ThisType, as_element_function_interface_t<OtherType>>> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator*(OtherType &other)

No documentation provided.

Function template Dune::XT::Functions::ElementFunctionInterface::operator/

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
template<class OtherType>
std::enable_if_t<is_element_function<OtherType>::value && internal::CombinedHelper<ThisType, OtherType, CombinationType::fraction>::available, FractionElementFunction<ThisType, as_element_function_interface_t<OtherType>>> Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::operator/(OtherType &other)

No documentation provided.

Function template Dune::XT::Functions::ElementFunctionInterface::single_derivative_helper_call

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double>
template<class FullType>
static SingleDerivativeRangeType Dune::XT::Functions::ElementFunctionInterface<Element, range_dim, range_dim_cols, RangeField>::single_derivative_helper_call(const FullType &val, const size_t row, const size_t col)

\ }