Class template Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>

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

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
class Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field> : public XT::Common::ParametricInterface

Interface for functionals.

Consider a partition tau_h (modelled by SourceGridView) of a physical domain, a (possibly vector- or matrix-values) vector space K^{r times rC} (modelled by Field, source_dim and source_dim_cols), this interface modells functionals

f: V_h -> K

where V_h is the (discrete) space

V_h := \ { v_h: tau_h -> K^{r times rC} \ }

modelled by a SpaceInterface of appropriate dimensions. The functions v_h in V_h, to which the funtional can be applied, are modelled by ConstDiscreteFunction with an appropriate vector type derived from XT::LA::VectorInterface (modelled by SourceVector).

todo Add parameter dependency!

Method Dune::GDT::FunctionalInterface::linear

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
virtual bool Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::linear() const = 0

\ {

These methods have to be implemented.

Method Dune::GDT::FunctionalInterface::source_space

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
virtual const SourceSpaceType &Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::source_space() const = 0

No documentation provided.

Method Dune::GDT::FunctionalInterface::apply

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
virtual FieldType Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::apply(const SourceVectorType&, const XT::Common::Parameter& = {}) const = 0

No documentation provided.

Method Dune::GDT::FunctionalInterface::apply

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
virtual FieldType Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::apply(const ConstSourceFunctionType &source, const XT::Common::Parameter &param = {}) const

\ }

Method Dune::GDT::FunctionalInterface::assemble

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
virtual void Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::assemble(const bool = 0)

Allows the implementation to do preparatory work (i.e., assemble the vector of a vector-based linear functional).

Note

In general, you have to call this method before calling apply!

Constructor Dune::GDT::FunctionalInterface::FunctionalInterface

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
explicit Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::FunctionalInterface(const XT::Common::ParameterType param_tp = {})

No documentation provided.

Constructor Dune::GDT::FunctionalInterface::FunctionalInterface

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::FunctionalInterface(const ThisType &other)

No documentation provided.

Constructor Dune::GDT::FunctionalInterface::FunctionalInterface

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::FunctionalInterface(ThisType &&source) noexcept = default

No documentation provided.

Destructor Dune::GDT::FunctionalInterface::~FunctionalInterface

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
virtual Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::~FunctionalInterface() = default

No documentation provided.

Variable Dune::GDT::FunctionalInterface::r

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
const size_t Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::r

No documentation provided.

Variable Dune::GDT::FunctionalInterface::rC

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
const size_t Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::rC

No documentation provided.

Type alias Dune::GDT::FunctionalInterface::ThisType

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
using Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::ThisType = FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>

No documentation provided.

Type alias Dune::GDT::FunctionalInterface::F

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
using Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::F = Field

No documentation provided.

Type alias Dune::GDT::FunctionalInterface::SourceSpaceType

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
using Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::SourceSpaceType = SpaceInterface<SourceGridView, r, rC, F>

No documentation provided.

Type alias Dune::GDT::FunctionalInterface::SourceVectorType

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
using Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::SourceVectorType = SourceVector

No documentation provided.

Type alias Dune::GDT::FunctionalInterface::ConstSourceFunctionType

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
using Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::ConstSourceFunctionType = ConstDiscreteFunction<SourceVectorType, SourceGridView, r, rC, F>

No documentation provided.

Type alias Dune::GDT::FunctionalInterface::FieldType

template<class SourceVector, class SourceGridView, size_t source_dim = 1, size_t source_dim_cols = 1, class Field = double>
using Dune::GDT::FunctionalInterface<SourceVector, SourceGridView, source_dim, source_dim_cols, Field>::FieldType = Field

No documentation provided.