Class template Dune::GDT::LocalBinaryIntersectionIntegrandInterface

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

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
class Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField> : public XT::Common::ParametricInterface, public XT::Grid::IntersectionBoundObject<Intersection>, public XT::Common::WithLogger<LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>>

Interface for integrands in integrals over grid intersections, which depend on two arguments (usually the test and ansatz bases on the inside of the intersection 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::LocalBinaryIntersectionIntegrandInterface::copy_as_binary_intersection_integrand

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
int Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::copy_as_binary_intersection_integrand() const = 0

No documentation provided.

Method Dune::GDT::LocalBinaryIntersectionIntegrandInterface::operator+

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField> LocalBinaryIntersectionIntegrandSum<I, <recovery-expr>(), <recovery-expr>(), TR, F, <recovery-expr>(), <recovery-expr>(), AR> Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::operator+(const ThisType &other) const

No documentation provided.

Method Dune::GDT::LocalBinaryIntersectionIntegrandInterface::inside

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
virtual bool Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::inside() const

Flag to document which element the bases are expected to be bound to.

Method Dune::GDT::LocalBinaryIntersectionIntegrandInterface::order

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
virtual int Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::order(const int &test_basis, const int &ansatz_basis, const XT::Common::Parameter &param) const = 0

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

Note

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

Method Dune::GDT::LocalBinaryIntersectionIntegrandInterface::evaluate

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
virtual void Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::evaluate(const int &test_basis, const int &ansatz_basis, const int &point_in_reference_intersection, DynamicMatrix<F> &result, const XT::Common::Parameter &param) const = 0

Computes the evaluation of this integrand at the given point for each combination of functions from the two bases.

Note

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

Method Dune::GDT::LocalBinaryIntersectionIntegrandInterface::evaluate

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
virtual DynamicMatrix<F> Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::evaluate(const int &test_basis, const int &ansatz_basis, const int &point_in_reference_intersection, 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!

Method Dune::GDT::LocalBinaryIntersectionIntegrandInterface::ensure_size_and_clear_results

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
void Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::ensure_size_and_clear_results(const int &test_basis, const int &ansatz_basis, DynamicMatrix<F> &result, const XT::Common::Parameter &param) const

No documentation provided.

Constructor Dune::GDT::LocalBinaryIntersectionIntegrandInterface::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>

template<>
template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
explicit Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>(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.

Constructor Dune::GDT::LocalBinaryIntersectionIntegrandInterface::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>

template<>
template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>(const ThisType &other) = default

No documentation provided.

Destructor Dune::GDT::LocalBinaryIntersectionIntegrandInterface::~LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>

template<>
template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField>
Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::~LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>() override = default

No documentation provided.

Variable Dune::GDT::LocalBinaryIntersectionIntegrandInterface::d

const int Dune::GDT::LocalBinaryIntersectionIntegrandInterface::d

No documentation provided.

Variable Dune::GDT::LocalBinaryIntersectionIntegrandInterface::t_r

const int Dune::GDT::LocalBinaryIntersectionIntegrandInterface::t_r

No documentation provided.

Variable Dune::GDT::LocalBinaryIntersectionIntegrandInterface::t_rC

const int Dune::GDT::LocalBinaryIntersectionIntegrandInterface::t_rC

No documentation provided.

Variable Dune::GDT::LocalBinaryIntersectionIntegrandInterface::a_r

const int Dune::GDT::LocalBinaryIntersectionIntegrandInterface::a_r

No documentation provided.

Variable Dune::GDT::LocalBinaryIntersectionIntegrandInterface::a_rC

const int Dune::GDT::LocalBinaryIntersectionIntegrandInterface::a_rC

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::ThisType

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::ThisType

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::BaseParametricType

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::BaseParametricType

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::BaseIntersectionBoundObjectType

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::BaseIntersectionBoundObjectType

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::Logger

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::Logger

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::I

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::I

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::F

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::F

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::TR

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::TR

No documentation provided.

Type alias Dune::GDT::LocalBinaryIntersectionIntegrandInterface::AR

type Dune::GDT::LocalBinaryIntersectionIntegrandInterface::AR

No documentation provided.

Function template Dune::GDT::LocalBinaryIntersectionIntegrandInterface::with_ansatz

template<class Intersection, size_t test_range_dim = 1, size_t test_range_dim_cols = 1, class TestRangeField = double, class Field = double, size_t ansatz_range_dim = test_range_dim, size_t ansatz_range_dim_cols = test_range_dim_cols, class AnsatzRangeField = TestRangeField> template <class ...Args> LocalBinaryToUnaryIntersectionIntegrand<I, <recovery-expr>(), <recovery-expr>(), TR, F, <recovery-expr>(), <recovery-expr>(), AR> Dune::GDT::LocalBinaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::with_ansatz(Args &&...args) const

No documentation provided.