Class template Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>¶
Inherits from Dune::XT::Common::ParametricInterface, Dune::XT::Grid::ElementBoundObject.
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
class Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField> : public Common::ParametricInterface, public XT::Grid::ElementBoundObject<Element>¶ Interface for a set of globalvalued functions, which are evaluated with two variables, one variable in element-local coordinates and one grid-independent variable.
See also:
RangeTypeSelector,JacobianRangeTypeSelector
Method Dune::XT::Functions::ElementFluxFunctionSetInterface::size¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::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::ElementFluxFunctionSetInterface::max_size¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::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::ElementFluxFunctionSetInterface::order¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual int Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::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::ElementFluxFunctionSetInterface::evaluate¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::evaluate(const DomainType&, const StateType&, 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::ElementFluxFunctionSetInterface::jacobian¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::jacobian(const DomainType&, const StateType&, std::vector<JacobianRangeType>&, const Common::Parameter& = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFluxFunctionSetInterface::evaluate_set¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual std::vector<RangeType> Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::evaluate_set(const DomainType &point_in_reference_element, const StateType &u, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFluxFunctionSetInterface::jacobian_of_set¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual std::vector<JacobianRangeType> Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::jacobian_of_set(const DomainType &point_in_reference_element, const StateType &u, const Common::Parameter ¶m = {}) const¶ Note
Will throw Exceptions::not_bound_to_an_element_yet error if not bound yet!
Method Dune::XT::Functions::ElementFluxFunctionSetInterface::evaluate¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::evaluate(const DomainType &point_in_reference_element, const StateType &u, 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::ElementFluxFunctionSetInterface::jacobian¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::jacobian(const DomainType &point_in_reference_element, const StateType &u, std::vector<SingleJacobianRangeType> &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::ElementFluxFunctionSetInterface::evaluate¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::evaluate(const DomainType &point_in_reference_element, const StateType &u, 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::ElementFluxFunctionSetInterface::jacobian¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
virtual void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::jacobian(const DomainType &point_in_reference_element, const StateType &u, std::vector<DynamicJacobianRangeType> &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::ElementFluxFunctionSetInterface::assert_inside_reference_element¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::assert_inside_reference_element(const DomainType &point_in_reference_element) const¶ No documentation provided.
Method Dune::XT::Functions::ElementFluxFunctionSetInterface::assert_correct_dims¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
static void Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::assert_correct_dims(const size_t row, const size_t col, const std::string &caller)¶ No documentation provided.
Constructor Dune::XT::Functions::ElementFluxFunctionSetInterface::ElementFluxFunctionSetInterface¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
explicit Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::ElementFluxFunctionSetInterface(const XT::Common::ParameterType ¶m_type = {})¶ \ }
Constructor Dune::XT::Functions::ElementFluxFunctionSetInterface::ElementFluxFunctionSetInterface¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::ElementFluxFunctionSetInterface(const ThisType &other) = default¶ No documentation provided.
Constructor Dune::XT::Functions::ElementFluxFunctionSetInterface::ElementFluxFunctionSetInterface¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::ElementFluxFunctionSetInterface(ThisType &&source) noexcept = default¶ No documentation provided.
Destructor Dune::XT::Functions::ElementFluxFunctionSetInterface::~ElementFluxFunctionSetInterface¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::~ElementFluxFunctionSetInterface() override = default¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::domain_dim¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::domain_dim¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::state_dim¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::state_dim¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::range_dim¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::range_dim¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::range_dim_cols¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::range_dim_cols¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::d¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::d¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::s¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::s¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::r¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::r¶ No documentation provided.
Variable Dune::XT::Functions::ElementFluxFunctionSetInterface::rC¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
const size_t Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::rC¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::ThisType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::ThisType = ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::DomainFieldType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::DomainFieldType = double¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::RangeFieldType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::RangeFieldType = RangeField¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::E¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::E = ElementType¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::D¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::D = DomainFieldType¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::R¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::R = RangeFieldType¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::S¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::S = StateField¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::DomainType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::DomainType = Dune::FieldVector<D, d>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::StateType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::StateType = Dune::FieldVector<S, s>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::DynamicStateType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::DynamicStateType = Dune::DynamicVector<S>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::RangeSelector¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::RangeSelector = RangeTypeSelector<R, r, rC>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::JacobianRangeSelector¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::JacobianRangeSelector = DerivativeRangeTypeSelector<s, R, r, rC>¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::RangeType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::RangeType = typename RangeSelector::type¶ \ {
``These types are the standard types to be used.‘’
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::JacobianRangeType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::JacobianRangeType = typename JacobianRangeSelector::type¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::SingleJacobianRangeType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::SingleJacobianRangeType = typename JacobianRangeSelector::single_type¶ No documentation provided.
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::DynamicRangeType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::DynamicRangeType = typename RangeSelector::dynamic_type¶ \ }
``These types are used for large dimensions.‘’
\ {
Type alias Dune::XT::Functions::ElementFluxFunctionSetInterface::DynamicJacobianRangeType¶
-
template<class Element, size_t stateDim = 1, size_t rangeDim = 1, size_t rangeDimCols = 1, class RangeField = double, class StateField = double>
using Dune::XT::Functions::ElementFluxFunctionSetInterface<Element, stateDim, rangeDim, rangeDimCols, RangeField, StateField>::DynamicJacobianRangeType = typename JacobianRangeSelector::dynamic_type¶ No documentation provided.