Class template Dune::XT::Functions::ElementFunctionSetInterface

template<class E, size_t r, size_t rC, class R>
class Dune::XT::Functions::ElementFunctionSetInterface

Interface for a set of globalvalued functions, which can be evaluated locally on one Element.

See in particular RangeTypeSelector and DerivativeRangeTypeSelector for the interpretation of a function and its derivatives.

See also: RangeTypeSelector, DerivativeRangeTypeSelector

virtual size_t Dune::XT::Functions::ElementFunctionSetInterface::size(const Common::Parameter& = <recovery-expr>({})) const = 0

The number of functions in this set.

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual size_t Dune::XT::Functions::ElementFunctionSetInterface::max_size(const Common::Parameter& = <recovery-expr>({})) const = 0

The maximum number of functions in this set over all elements. The following has to hold true:

auto local_function_set = …; size_t max_set_size = 0; for (auto&& element : grid_view) max_set_size = std::max(max_set_size, local_function_set.bind(element).size(param)); assert(max_set_size <= local_function_set.max_size());

virtual int Dune::XT::Functions::ElementFunctionSetInterface::order(const Common::Parameter& = <recovery-expr>({})) const = 0

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual void Dune::XT::Functions::ElementFunctionSetInterface::evaluate(const DomainType&, int&, const Common::Parameter& = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual void Dune::XT::Functions::ElementFunctionSetInterface::jacobians(const DomainType&, int&, const Common::Parameter& = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual void Dune::XT::Functions::ElementFunctionSetInterface::derivatives(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, int &result, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

int Dune::XT::Functions::ElementFunctionSetInterface::evaluate_set(const DomainType &point_in_reference_element, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

int Dune::XT::Functions::ElementFunctionSetInterface::jacobians_of_set(const DomainType &point_in_reference_element, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

int Dune::XT::Functions::ElementFunctionSetInterface::derivatives_of_set(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual void Dune::XT::Functions::ElementFunctionSetInterface::evaluate(const DomainType &point_in_reference_element, int &result, const size_t row, const size_t col = 0, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual void Dune::XT::Functions::ElementFunctionSetInterface::jacobians(const DomainType &point_in_reference_element, int &result, const size_t row, const size_t col = 0, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

virtual void Dune::XT::Functions::ElementFunctionSetInterface::derivatives(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, int &result, const size_t row, const size_t col = 0, const Common::Parameter &param = <recovery-expr>({})) const

Note

Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!

void Dune::XT::Functions::ElementFunctionSetInterface::assert_inside_reference_element(const DomainType &point_in_reference_element) const

No documentation provided.

static void Dune::XT::Functions::ElementFunctionSetInterface::assert_correct_dims(const size_t row, const size_t col, const std::string &caller)

No documentation provided.

template<>
Dune::XT::Functions::ElementFunctionSetInterface::ElementFunctionSetInterface<E, r, rC, R>(const XT::Common::ParameterType &param_type = {})

\ }

template<>
Dune::XT::Functions::ElementFunctionSetInterface::ElementFunctionSetInterface<E, r, rC, R>(const ThisType &other) = default

No documentation provided.

template<>
Dune::XT::Functions::ElementFunctionSetInterface::ElementFunctionSetInterface<E, r, rC, R>(ThisType &&source) noexcept = default

No documentation provided.

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

No documentation provided.

const size_t Dune::XT::Functions::ElementFunctionSetInterface::domain_dim

No documentation provided.

const size_t Dune::XT::Functions::ElementFunctionSetInterface::range_dim

No documentation provided.

const size_t Dune::XT::Functions::ElementFunctionSetInterface::range_dim_cols

No documentation provided.

const size_t Dune::XT::Functions::ElementFunctionSetInterface::d

No documentation provided.

const size_t Dune::XT::Functions::ElementFunctionSetInterface::r

No documentation provided.

const size_t Dune::XT::Functions::ElementFunctionSetInterface::rC

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::ThisType

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::DomainFieldType

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::RangeFieldType

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::E

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::D

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::R

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::DomainType

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::RangeSelector

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::DerivativeRangeSelector

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::RangeType

\ {

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

type Dune::XT::Functions::ElementFunctionSetInterface::DerivativeRangeType

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::SingleDerivativeRangeType

No documentation provided.

type Dune::XT::Functions::ElementFunctionSetInterface::DynamicRangeType

\ }

``These types are used for large dimensions.‘’

\ {

type Dune::XT::Functions::ElementFunctionSetInterface::DynamicDerivativeRangeType

No documentation provided.

template<class FullType, class SingleType>
void Dune::XT::Functions::ElementFunctionSetInterface::single_derivative_helper_call(const int &val, const size_t row, const size_t col, int &ret) const

No documentation provided.