Class template Dune::GDT::SpaceInterface

Inherits from Dune::XT::Common::WithLogger.

template<class GV, size_t r, size_t rC, class R>
class Dune::GDT::SpaceInterface<GV, r, rC, R> : public XT::Common::WithLogger<SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>>

Interface for discrete function spaces, providing grid view, mapper, basis, finite elements and functionality for adaptation and parallel communication.

Method Dune::GDT::SpaceInterface::copy

template<class GV, size_t r, size_t rC, class R>
virtual ThisType *Dune::GDT::SpaceInterface<GV, r, rC, R>::copy() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::grid_view

template<class GV, size_t r, size_t rC, class R>
virtual const GridViewType &Dune::GDT::SpaceInterface<GV, r, rC, R>::grid_view() const = 0

\ {

These methods provide most functionality, they have to be implemented.

Method Dune::GDT::SpaceInterface::mapper

template<class GV, size_t r, size_t rC, class R>
virtual const MapperType &Dune::GDT::SpaceInterface<GV, r, rC, R>::mapper() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::finite_elements

template<class GV, size_t r, size_t rC, class R>
const int &Dune::GDT::SpaceInterface<GV, r, rC, R>::finite_elements() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::basis

template<class GV, size_t r, size_t rC, class R>
const int &Dune::GDT::SpaceInterface<GV, r, rC, R>::basis() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::type

template<class GV, size_t r, size_t rC, class R>
virtual SpaceType Dune::GDT::SpaceInterface<GV, r, rC, R>::type() const = 0

\ }

These methods help to identify the space, they have to be implemented.

\ {

Method Dune::GDT::SpaceInterface::min_polorder

template<class GV, size_t r, size_t rC, class R>
virtual int Dune::GDT::SpaceInterface<GV, r, rC, R>::min_polorder() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::max_polorder

template<class GV, size_t r, size_t rC, class R>
virtual int Dune::GDT::SpaceInterface<GV, r, rC, R>::max_polorder() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::continuous

template<class GV, size_t r, size_t rC, class R>
virtual bool Dune::GDT::SpaceInterface<GV, r, rC, R>::continuous(const int diff_order) const = 0

To query if elements of this space (functions) are continuous (i.e., in C^0), use continuous(0).

Method Dune::GDT::SpaceInterface::continuous_normal_components

template<class GV, size_t r, size_t rC, class R>
virtual bool Dune::GDT::SpaceInterface<GV, r, rC, R>::continuous_normal_components() const = 0

No documentation provided.

Method Dune::GDT::SpaceInterface::is_lagrangian

template<class GV, size_t r, size_t rC, class R>
virtual bool Dune::GDT::SpaceInterface<GV, r, rC, R>::is_lagrangian() const = 0

If this returns true, every FE provided by local_finite_elements() is expected to provide lagrange_points().

Method Dune::GDT::SpaceInterface::restrict_to

template<class GV, size_t r, size_t rC, class R>
virtual void Dune::GDT::SpaceInterface<GV, r, rC, R>::restrict_to(const int &element, int) const

Computes an L^2 projection of the data defined on the finer elements, on the domain covered by the coarser element.

Warning

This implementation only makes sense if the evaluation of the global basis coincides with the evaluation of the finite elements basis.

Note

Override this method if this is not the correct choice for the space in question!

Method Dune::GDT::SpaceInterface::pre_adapt

template<class GV, size_t r, size_t rC, class R>
void Dune::GDT::SpaceInterface<GV, r, rC, R>::pre_adapt()

No documentation provided.

Method Dune::GDT::SpaceInterface::update_after_adapt

template<class GV, size_t r, size_t rC, class R>
virtual void Dune::GDT::SpaceInterface<GV, r, rC, R>::update_after_adapt()

Note

Ensure in derived classes that the basis, mapper and communicator are updated!

Method Dune::GDT::SpaceInterface::adapt

template<class GV, size_t r, size_t rC, class R>
virtual void Dune::GDT::SpaceInterface<GV, r, rC, R>::adapt()

No documentation provided.

Method Dune::GDT::SpaceInterface::post_adapt

template<class GV, size_t r, size_t rC, class R>
void Dune::GDT::SpaceInterface<GV, r, rC, R>::post_adapt()

No documentation provided.

Method Dune::GDT::SpaceInterface::prolong_onto

template<class GV, size_t r, size_t rC, class R>
virtual void Dune::GDT::SpaceInterface<GV, r, rC, R>::prolong_onto(const int &element, const int) const

Computes a prolongation using the interpolation of the finite_element().

Warning

This implementation only makes sense if the evaluation of the global basis coincides with the evaluation of the finite elements basis.

Note

Override this method if this is not the correct choice for the space in question.

Method Dune::GDT::SpaceInterface::dof_communicator

template<class GV, size_t r, size_t rC, class R>
const int &Dune::GDT::SpaceInterface<GV, r, rC, R>::dof_communicator() const

Method Dune::GDT::SpaceInterface::create_communicator

template<class GV, size_t r, size_t rC, class R>
void Dune::GDT::SpaceInterface<GV, r, rC, R>::create_communicator()

\ }

Constructor Dune::GDT::SpaceInterface::SpaceInterface<GV, r, rC, R>

template<>
template<class GV, size_t r, size_t rC, class R>
explicit Dune::GDT::SpaceInterface<GV, r, rC, R>::SpaceInterface<GV, r, rC, R>(const std::string &logging_prefix, const std::array<bool, 3> &logging_state = XT::Common::default_logger_state())

No documentation provided.

Constructor Dune::GDT::SpaceInterface::SpaceInterface<GV, r, rC, R>

template<>
template<class GV, size_t r, size_t rC, class R>
Dune::GDT::SpaceInterface<GV, r, rC, R>::SpaceInterface<GV, r, rC, R>(const ThisType &other) = default

No documentation provided.

Constructor Dune::GDT::SpaceInterface::SpaceInterface<GV, r, rC, R>

template<>
template<class GV, size_t r, size_t rC, class R>
Dune::GDT::SpaceInterface<GV, r, rC, R>::SpaceInterface<GV, r, rC, R>(ThisType &&source) noexcept = default

No documentation provided.

Destructor Dune::GDT::SpaceInterface::~SpaceInterface<GV, r, rC, R>

template<>
virtual ~SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>() = default

No documentation provided.

Field Dune::GDT::SpaceInterface::dof_communicator_

int Dune::GDT::SpaceInterface::dof_communicator_

No documentation provided.

Field Dune::GDT::SpaceInterface::adapted_

bool Dune::GDT::SpaceInterface::adapted_

No documentation provided.

Variable Dune::GDT::SpaceInterface::d

const int Dune::GDT::SpaceInterface::d

No documentation provided.

Variable Dune::GDT::SpaceInterface::r

const int Dune::GDT::SpaceInterface::r

No documentation provided.

Variable Dune::GDT::SpaceInterface::rC

const int Dune::GDT::SpaceInterface::rC

No documentation provided.

Type alias Dune::GDT::SpaceInterface::ThisType

type Dune::GDT::SpaceInterface::ThisType

No documentation provided.

Type alias Dune::GDT::SpaceInterface::Logger

type Dune::GDT::SpaceInterface::Logger

No documentation provided.

Type alias Dune::GDT::SpaceInterface::GridViewType

type Dune::GDT::SpaceInterface::GridViewType

No documentation provided.

Type alias Dune::GDT::SpaceInterface::GV

type Dune::GDT::SpaceInterface::GV

No documentation provided.

Type alias Dune::GDT::SpaceInterface::GridType

type Dune::GDT::SpaceInterface::GridType

No documentation provided.

Type alias Dune::GDT::SpaceInterface::G

type Dune::GDT::SpaceInterface::G

No documentation provided.

Type alias Dune::GDT::SpaceInterface::D

type Dune::GDT::SpaceInterface::D

No documentation provided.

Type alias Dune::GDT::SpaceInterface::R

type Dune::GDT::SpaceInterface::R

No documentation provided.

Type alias Dune::GDT::SpaceInterface::MapperType

type Dune::GDT::SpaceInterface::MapperType

No documentation provided.

Function template Dune::GDT::SpaceInterface::contains

template<class GV, size_t r, size_t rC, class R>
template<class V>
bool Dune::GDT::SpaceInterface<GV, r, rC, R>::contains(const int &vector) const

Function template Dune::GDT::SpaceInterface::contains

template<class GV, size_t r, size_t rC, class R> template <class V> bool Dune::GDT::SpaceInterface<GV, r, rC, R>::contains(const ConstDiscreteFunction<V, GV, <recovery-expr>(), <recovery-expr>(), R> &function) const

Note

A return value of true cannot be ultimately trusted yet.

See also: https://github.com/dune-community/dune-gdt/issues/123