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<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<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.

Method Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::copy_as_quaternary_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::LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::copy_as_quaternary_intersection_integrand() const = 0

No documentation provided.

Method Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::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> LocalQuaternaryIntersectionIntegrandSum<I, <recovery-expr>(), <recovery-expr>(), TR, F, <recovery-expr>(), <recovery-expr>(), AR> Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface<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::LocalQuaternaryIntersectionIntegrandInterface::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::LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::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) 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::LocalQuaternaryIntersectionIntegrandInterface::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::LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::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, DynamicMatrix<F> &result_in_in, DynamicMatrix<F> &result_in_out, DynamicMatrix<F> &result_out_in, DynamicMatrix<F> &result_out_out, const XT::Common::Parameter &param) 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!

Method Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::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 std::array<DynamicMatrix<F>, 4> Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::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) 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::LocalQuaternaryIntersectionIntegrandInterface::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::LocalQuaternaryIntersectionIntegrandInterface<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_inside, const int &ansatz_basis_inside, const int &test_basis_outside, const int &ansatz_basis_outside, DynamicMatrix<F> &result_in_in, DynamicMatrix<F> &result_in_out, DynamicMatrix<F> &result_out_in, DynamicMatrix<F> &result_out_out, const XT::Common::Parameter &param) const

No documentation provided.

Constructor Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::LocalQuaternaryIntersectionIntegrandInterface<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::LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::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, const std::array<bool, 3> &logging_state = XT::Common::default_logger_state())

No documentation provided.

Destructor Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::~LocalQuaternaryIntersectionIntegrandInterface<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::LocalQuaternaryIntersectionIntegrandInterface<Intersection, test_range_dim, test_range_dim_cols, TestRangeField, Field, ansatz_range_dim, ansatz_range_dim_cols, AnsatzRangeField>::~LocalQuaternaryIntersectionIntegrandInterface<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::LocalQuaternaryIntersectionIntegrandInterface::d

const int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::d

No documentation provided.

Variable Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::t_r

const int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::t_r

No documentation provided.

Variable Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::t_rC

const int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::t_rC

No documentation provided.

Variable Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::a_r

const int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::a_r

No documentation provided.

Variable Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::a_rC

const int Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::a_rC

No documentation provided.

Type alias Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::ThisType

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::ThisType

No documentation provided.

Type alias Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::Logger

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::Logger

No documentation provided.

Type alias Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::I

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::I

No documentation provided.

Type alias Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::F

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::F

No documentation provided.

Type alias Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::TR

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::TR

No documentation provided.

Type alias Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::AR

type Dune::GDT::LocalQuaternaryIntersectionIntegrandInterface::AR

No documentation provided.