Class template Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>¶
Inherits from Dune::XT::Common::WithLogger.
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
class Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField> : 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 GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual ThisType *Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::copy() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::grid_view¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual const GridViewType &Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::grid_view() const = 0¶ \ {
These methods provide most functionality, they have to be implemented.
Method Dune::GDT::SpaceInterface::mapper¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual const MapperType &Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::mapper() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::finite_elements¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual const LocalFiniteElementFamilyType &Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::finite_elements() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::basis¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual const GlobalBasisType &Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::basis() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::type¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual SpaceType Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::type() const = 0¶ \ }
These methods help to identify the space, they have to be implemented.
\ {
Method Dune::GDT::SpaceInterface::min_polorder¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual int Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::min_polorder() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::max_polorder¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual int Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::max_polorder() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::continuous¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual bool Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::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 GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual bool Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::continuous_normal_components() const = 0¶ No documentation provided.
Method Dune::GDT::SpaceInterface::is_lagrangian¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual bool Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::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 GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::restrict_to(const ElementType &element, PersistentContainer<G, std::pair<DynamicVector<R>, DynamicVector<R>>> &persistent_data) 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 GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::pre_adapt()¶ No documentation provided.
Method Dune::GDT::SpaceInterface::update_after_adapt¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::update_after_adapt()¶ Note
Ensure in derived classes that the basis, mapper and communicator are updated!
Method Dune::GDT::SpaceInterface::adapt¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::adapt()¶ No documentation provided.
Method Dune::GDT::SpaceInterface::post_adapt¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::post_adapt()¶ No documentation provided.
Method Dune::GDT::SpaceInterface::prolong_onto¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::prolong_onto(const ElementType &element, const PersistentContainer<G, std::pair<DynamicVector<R>, DynamicVector<R>>> &persistent_data, DynamicVector<R> &element_dof_data) 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::prolong_onto¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual DynamicVector<R> Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::prolong_onto(const ElementType &element, const PersistentContainer<G, std::pair<DynamicVector<R>, DynamicVector<R>>> &persistent_data) const¶ No documentation provided.
Method Dune::GDT::SpaceInterface::dof_communicator¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual const DofCommunicatorType &Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::dof_communicator() const¶ \ }
These methods are required for MPI communication, they are provided.
\ {
Method Dune::GDT::SpaceInterface::create_communicator¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
void Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::create_communicator()¶ \ }
Constructor Dune::GDT::SpaceInterface::SpaceInterface¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
explicit Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::SpaceInterface(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¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::SpaceInterface(const ThisType &other) = default¶ No documentation provided.
Constructor Dune::GDT::SpaceInterface::SpaceInterface¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::SpaceInterface(ThisType &&source) noexcept = default¶ No documentation provided.
Destructor Dune::GDT::SpaceInterface::~SpaceInterface¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
virtual Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::~SpaceInterface() = default¶ No documentation provided.
Field Dune::GDT::SpaceInterface::dof_communicator_¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
std::shared_ptr<DofCommunicatorType> Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::dof_communicator_¶ No documentation provided.
Field Dune::GDT::SpaceInterface::adapted_¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
bool Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::adapted_¶ No documentation provided.
Variable Dune::GDT::SpaceInterface::d¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
const size_t Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::d¶ No documentation provided.
Variable Dune::GDT::SpaceInterface::r¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
const size_t Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::r¶ No documentation provided.
Variable Dune::GDT::SpaceInterface::rC¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
const size_t Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::rC¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::ThisType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::ThisType = SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::Logger¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::Logger = XT::Common::WithLogger<SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>>¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::GridViewType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::GridViewType = GridView¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::GV¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::GV = GridViewType¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::ElementType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::ElementType = XT::Grid::extract_entity_t<GV>¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::E¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::E = ElementType¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::GridType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::GridType = typename GridView::Grid¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::G¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::G = GridType¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::D¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::D = typename GridViewType::ctype¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::R¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::R = RangeField¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::GlobalBasisType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::GlobalBasisType = GlobalBasisInterface<GridViewType, r, rC, R>¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::LocalFiniteElementFamilyType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::LocalFiniteElementFamilyType = LocalFiniteElementFamilyInterface<D, d, R, r, rC>¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::MapperType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::MapperType = MapperInterface<GridViewType>¶ No documentation provided.
Type alias Dune::GDT::SpaceInterface::DofCommunicatorType¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
using Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::DofCommunicatorType = typename DofCommunicationChooser<GridViewType>::Type¶ No documentation provided.
Function template Dune::GDT::SpaceInterface::contains¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
template<class V>
bool Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::contains(const XT::LA::VectorInterface<V> &vector) const¶ \ }
These methods are provided for convenience.
\ {
Function template Dune::GDT::SpaceInterface::contains¶
-
template<class GridView, size_t range_dim = 1, size_t range_dim_columns = 1, class RangeField = double>
template<class V>
bool Dune::GDT::SpaceInterface<GridView, range_dim, range_dim_columns, RangeField>::contains(const ConstDiscreteFunction<V, GV, r, rC, 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