Class template Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>¶
Inherits from Dune::XT::Common::ParametricInterface, Dune::XT::Grid::ElementBoundObject.
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
class Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField> : public Common::ParametricInterface, public XT::Grid::ElementBoundObject<Element>¶ 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
Method Dune::XT::Functions::ElementFunctionSetInterface::size¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::size(const Common::Parameter& = {}) const = 0¶ The number of functions in this set.
Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::max_size¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::max_size(const Common::Parameter& = {}) 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());
Method Dune::XT::Functions::ElementFunctionSetInterface::order¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual int Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::order(const Common::Parameter& = {}) const = 0¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::evaluate¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::evaluate(const DomainType&, std::vector<RangeType>&, const Common::Parameter& = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::jacobians¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::jacobians(const DomainType&, std::vector<DerivativeRangeType>&, const Common::Parameter& = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::derivatives¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::derivatives(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, std::vector<DerivativeRangeType> &result, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::evaluate_set¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual std::vector<RangeType> Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::evaluate_set(const DomainType &point_in_reference_element, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::jacobians_of_set¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual std::vector<DerivativeRangeType> Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::jacobians_of_set(const DomainType &point_in_reference_element, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::derivatives_of_set¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual std::vector<DerivativeRangeType> Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::derivatives_of_set(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::evaluate¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::evaluate(const DomainType &point_in_reference_element, std::vector<R> &result, const size_t row, const size_t col = 0, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::jacobians¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::jacobians(const DomainType &point_in_reference_element, std::vector<SingleDerivativeRangeType> &result, const size_t row, const size_t col = 0, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::derivatives¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::derivatives(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, std::vector<SingleDerivativeRangeType> &result, const size_t row, const size_t col = 0, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::evaluate¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::evaluate(const DomainType &point_in_reference_element, std::vector<DynamicRangeType> &result, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::jacobians¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::jacobians(const DomainType &point_in_reference_element, std::vector<DynamicDerivativeRangeType> &result, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::derivatives¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
virtual void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::derivatives(const std::array<size_t, d> &alpha, const DomainType &point_in_reference_element, std::vector<DynamicDerivativeRangeType> &result, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFunctionSetInterface::assert_inside_reference_element¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::assert_inside_reference_element(const DomainType &point_in_reference_element) const¶ No documentation provided.
Method Dune::XT::Functions::ElementFunctionSetInterface::assert_correct_dims¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
static void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::assert_correct_dims(const size_t row, const size_t col, const std::string &caller)¶ No documentation provided.
Constructor Dune::XT::Functions::ElementFunctionSetInterface::ElementFunctionSetInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
explicit Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::ElementFunctionSetInterface(const XT::Common::ParameterType ¶m_type = {})¶ \ }
Constructor Dune::XT::Functions::ElementFunctionSetInterface::ElementFunctionSetInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::ElementFunctionSetInterface(const ThisType &other) = default¶ No documentation provided.
Constructor Dune::XT::Functions::ElementFunctionSetInterface::ElementFunctionSetInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::ElementFunctionSetInterface(ThisType &&source) noexcept = default¶ No documentation provided.
Destructor Dune::XT::Functions::ElementFunctionSetInterface::~ElementFunctionSetInterface¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::~ElementFunctionSetInterface() override = default¶ No documentation provided.
Variable Dune::XT::Functions::ElementFunctionSetInterface::domain_dim¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::domain_dim¶ No documentation provided.
Variable Dune::XT::Functions::ElementFunctionSetInterface::range_dim¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::range_dim¶ No documentation provided.
Variable Dune::XT::Functions::ElementFunctionSetInterface::range_dim_cols¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::range_dim_cols¶ No documentation provided.
Variable Dune::XT::Functions::ElementFunctionSetInterface::d¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::d¶ No documentation provided.
Variable Dune::XT::Functions::ElementFunctionSetInterface::r¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::r¶ No documentation provided.
Variable Dune::XT::Functions::ElementFunctionSetInterface::rC¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
const size_t Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::rC¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::ThisType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::ThisType = ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::DomainFieldType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::DomainFieldType = double¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::RangeFieldType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::RangeFieldType = RangeField¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::E¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::E = ElementType¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::D¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::D = DomainFieldType¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::R¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::R = RangeFieldType¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::DomainType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::DomainType = Dune::FieldVector<D, d>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::RangeSelector¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::RangeSelector = RangeTypeSelector<R, r, rC>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::DerivativeRangeSelector¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::DerivativeRangeSelector = DerivativeRangeTypeSelector<d, R, r, rC>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::RangeType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::RangeType = typename RangeSelector::type¶ \ {
``These types are the standard types to be used.‘’
Type alias Dune::XT::Functions::ElementFunctionSetInterface::DerivativeRangeType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::DerivativeRangeType = typename DerivativeRangeSelector::type¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::SingleDerivativeRangeType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::SingleDerivativeRangeType = typename DerivativeRangeSelector::single_type¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFunctionSetInterface::DynamicRangeType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::DynamicRangeType = typename RangeSelector::dynamic_type¶ \ }
``These types are used for large dimensions.‘’
\ {
Type alias Dune::XT::Functions::ElementFunctionSetInterface::DynamicDerivativeRangeType¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
using Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::DynamicDerivativeRangeType = typename DerivativeRangeSelector::dynamic_type¶ No documentation provided.
Function template Dune::XT::Functions::ElementFunctionSetInterface::single_derivative_helper_call¶
-
template<class Element, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double>
template<class FullType, class SingleType>
void Dune::XT::Functions::ElementFunctionSetInterface<Element, rangeDim, rangeDimCols, RangeField>::single_derivative_helper_call(const std::vector<FullType> &val, const size_t row, const size_t col, std::vector<SingleType> &ret) const¶ No documentation provided.