Class template Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>

Inherits from Dune::XT::Common::ParametricInterface.

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
class Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field> : public XT::Common::ParametricInterface

Interface for local functionals associated with grid intersections.

Note

Although the apply gets two arguments, this is a functional and not a bilinear form (the two arguments are not ansatz and test basis on the intersection, but the test basis on the inside and on the outisde, respectively)!

Note

Regarding SMP: the functional 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::LocalIntersectionFunctionalInterface::copy

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

No documentation provided.

Method Dune::GDT::LocalIntersectionFunctionalInterface::inside

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual bool Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::inside() const

Flag to document which element the basis is expected to be bound to.

Method Dune::GDT::LocalIntersectionFunctionalInterface::apply

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual void Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::apply(const IntersectionType &intersection, const LocalBasisType &test_basis, DynamicVector<F> &result, const XT::Common::Parameter &param = {}) const = 0

Computes the application of this functional for each basis function.

Method Dune::GDT::LocalIntersectionFunctionalInterface::apply

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual DynamicVector<F> Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::apply(const IntersectionType &intersection, const LocalBasisType &test_basis, const XT::Common::Parameter &param = {}) const

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

Constructor Dune::GDT::LocalIntersectionFunctionalInterface::LocalIntersectionFunctionalInterface

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
explicit Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::LocalIntersectionFunctionalInterface(const XT::Common::ParameterType &param_type = {})

No documentation provided.

Destructor Dune::GDT::LocalIntersectionFunctionalInterface::~LocalIntersectionFunctionalInterface

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
virtual Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::~LocalIntersectionFunctionalInterface() = default

No documentation provided.

Variable Dune::GDT::LocalIntersectionFunctionalInterface::d

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

No documentation provided.

Variable Dune::GDT::LocalIntersectionFunctionalInterface::r

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

No documentation provided.

Variable Dune::GDT::LocalIntersectionFunctionalInterface::rC

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

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::ThisType

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

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::IntersectionType

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::IntersectionType = Intersection

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::ElementType

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::ElementType = typename Intersection::Entity

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::D

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

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::I

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::I = IntersectionType

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::E

template<class Intersection, size_t range_dim = 1, size_t range_dim_cols = 1, class RangeField = double, class Field = double>
using Dune::GDT::LocalIntersectionFunctionalInterface<Intersection, range_dim, range_dim_cols, RangeField, Field>::E = ElementType

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::F

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

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::R

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

No documentation provided.

Type alias Dune::GDT::LocalIntersectionFunctionalInterface::LocalBasisType

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

No documentation provided.