Class template Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface

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::LocalQuaternaryIntersectionIntegrandInterface : public XT::Common::ParametricInterface, public XT::Grid::IntersectionBoundObject<Intersection>, public XT::Common::WithLogger<LocalQuaternaryIntersectionIntegrandInterface<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 four arguments (the test and ansatz bases on both the inside and the outside of the intersection, as used in coupling/DG operators).

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.

int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::copy_as_quaternary_intersection_integrand() const = 0

No documentation provided.

LocalQuaternaryIntersectionIntegrandSum<I, t_r, t_rC, TR, F, a_r, a_rC, AR> Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::operator+(const ThisType &other) const

No documentation provided.

virtual int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::order(const int &test_basis_inside, const int &ansatz_basis_inside, const int &test_basis_outside, const int &ansatz_basis_outside, const XT::Common::Parameter &param = <recovery-expr>({})) 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!

virtual void Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::evaluate(const int &test_basis_inside, const int &ansatz_basis_inside, const int &test_basis_outside, const int &ansatz_basis_outside, const int &point_in_reference_intersection, int &result_in_in, int &result_in_out, int &result_out_in, int &result_out_out, const XT::Common::Parameter &param = <recovery-expr>({})) const = 0

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

Note

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

int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::evaluate(const int &test_basis_inside, const int &ansatz_basis_inside, const int &test_basis_outside, const int &ansatz_basis_outside, const int &point_in_reference_intersection, const XT::Common::Parameter &param = <recovery-expr>({})) 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!

void Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::ensure_size_and_clear_results(const int &test_basis_inside, const int &ansatz_basis_inside, const int &test_basis_outside, const int &ansatz_basis_outside, int &result_in_in, int &result_in_out, int &result_out_in, int &result_out_out, const XT::Common::Parameter &param) const

No documentation provided.

template<>
Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::LocalQuaternaryIntersectionIntegrandInterface<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 = <recovery-expr>(""), const std::array<bool, 3> &logging_state = <recovery-expr>())

No documentation provided.

template<>
Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::~LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>() override = default

No documentation provided.

const size_t Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::d

No documentation provided.

const size_t Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::t_r

No documentation provided.

const size_t Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::t_rC

No documentation provided.

const size_t Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::a_r

No documentation provided.

const size_t Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::a_rC

No documentation provided.

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::ThisType

No documentation provided.

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::Logger

No documentation provided.

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::I

No documentation provided.

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::F

No documentation provided.

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::TR

No documentation provided.

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::AR

No documentation provided.