Class template Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>

Inherits from Dune::XT::Common::ParametricInterface, Dune::XT::Grid::ElementBoundObject, Dune::XT::Common::WithLogger.

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
class Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field> : public XT::Common::ParametricInterface, public XT::Grid::ElementBoundObject<Element>, public XT::Common::WithLogger<LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>>

Interface for integrands in integrals over grid elements, which depend on one argument only (usually the test basis in an integral-based functional).

Note

Regarding SMP: the integrand is copied for each thread, so - no shared mutable state between copies to be thread safe, but - local mutable state is ok.

Method Dune::GDT::LocalUnaryElementIntegrandInterface::copy_as_unary_element_integrand

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual std::unique_ptr<ThisType> Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::copy_as_unary_element_integrand() const = 0

No documentation provided.

Method Dune::GDT::LocalUnaryElementIntegrandInterface::operator+

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
LocalUnaryElementIntegrandSum<E, r, rC, R, F> Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::operator+(const ThisType &other) const

No documentation provided.

Method Dune::GDT::LocalUnaryElementIntegrandInterface::order

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual int Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::order(const LocalTestBasisType &basis, const XT::Common::Parameter &param = {}) const = 0

Returns the polynomial order of the integrand, given the basis.

Note

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

Method Dune::GDT::LocalUnaryElementIntegrandInterface::evaluate

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual void Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::evaluate(const LocalTestBasisType &basis, const DomainType &point_in_reference_element, DynamicVector<F> &result, const XT::Common::Parameter &param = {}) const = 0

Computes the evaluation of this integrand at the given point for each function in the basis.

Note

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

Method Dune::GDT::LocalUnaryElementIntegrandInterface::evaluate

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual DynamicVector<F> Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::evaluate(const LocalTestBasisType &basis, const DomainType &point_in_reference_element, const XT::Common::Parameter &param = {}) const

This method is provided for convenience and should not be used within library code.

Note

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

Constructor Dune::GDT::LocalUnaryElementIntegrandInterface::LocalUnaryElementIntegrandInterface

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
explicit Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::LocalUnaryElementIntegrandInterface(const XT::Common::ParameterType &param_type = {}, const std::string &logging_prefix = "", const std::array<bool, 3> &logging_state = XT::Common::default_logger_state())

No documentation provided.

Destructor Dune::GDT::LocalUnaryElementIntegrandInterface::~LocalUnaryElementIntegrandInterface

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::~LocalUnaryElementIntegrandInterface() override = default

No documentation provided.

Variable Dune::GDT::LocalUnaryElementIntegrandInterface::d

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
const size_t Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::d

No documentation provided.

Variable Dune::GDT::LocalUnaryElementIntegrandInterface::r

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
const size_t Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::r

No documentation provided.

Variable Dune::GDT::LocalUnaryElementIntegrandInterface::rC

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
const size_t Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::rC

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::ThisType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::ThisType = LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::Logger

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::Logger = XT::Common::WithLogger<LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>>

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::E

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::E = Element

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::D

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::D = typename Element::Geometry::ctype

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::F

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::F = Field

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::R

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::R = RangeField

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::DomainType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::DomainType = FieldVector<D, d>

No documentation provided.

Type alias Dune::GDT::LocalUnaryElementIntegrandInterface::LocalTestBasisType

template<class Element, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalUnaryElementIntegrandInterface<Element, range_dim, range_dim_cols, RangeField, Field>::LocalTestBasisType = XT::Functions::ElementFunctionSetInterface<E, r, rC, R>

No documentation provided.