Class template Dune::GDT::ContinuousLagrangeSpace

Inherits from Dune::GDT::SpaceInterface.

template<class GV, size_t r = 1, class R = double>
class Dune::GDT::ContinuousLagrangeSpace<GV, r, R> : public SpaceInterface<GV, r, 1, R>

The following dimensions/orders/elements are tested to work:

  • 1d: orders 1, 2 work - 2d: orders 1, 2 work on simplices, cubes and mixed simplices and cubes - 3d: orders 1, 2 work on simplices, cubes, prisms

The following dimensions/orders/elements are tested to fail:

  • 3d: pyramids (jacobians seem to be incorrect) - 3d: mixed simplices and cubes (intersections are non-conforming)

Note

Order > 2 on non-cube grids (in d >= 2) is a hard, currently unresolved contract limit, not a missing overload: ContinuousMapper::global_index() throws Dune::NotImplemented in that case (see the comment there). The root cause is that order >= 3 Lagrange elements place more than one DoF on a shared sub-entity (e.g. two DoFs on one edge), and the mapper has no canonical, grid-independent way of telling whether the local numbering of those DoFs agrees between the two elements sharing the sub-entity; on cube grids (YaspGrid, cube-ALUGrid, UGGrid) the local numbering happens to always agree, but not on simplicial grids in general. Fixing this needs a consistent sub-entity orientation scheme threaded through the local finite element’s DoF numbering, which is a mapper-level feature, not something ContinuousLagrangeSpace itself can route around. This boundary (order < = 2 on simplices vs. order < = 3 on cubes) is encoded as a tested contract in python/gdt/test/test_hypothesis_spaces.py (_cg_orders), so that a future fix in the mapper is picked up by the property tests without any test needing to change.

See also: make_local_lagrange_finite_element, ContinuousMapper

Method Dune::GDT::ContinuousLagrangeSpace::operator=

template<class GV, size_t r = 1, class R = double>
ThisType &Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::operator=(const ThisType&) = delete

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::operator=

template<class GV, size_t r = 1, class R = double>
ThisType &Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::operator=(ThisType&&) = delete

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::copy

template<class GV, size_t r = 1, class R = double>
BaseType *Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::copy() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::grid_view

template<class GV, size_t r = 1, class R = double>
const GridViewType &Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::grid_view() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::mapper

template<class GV, size_t r = 1, class R = double>
const MapperType &Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::mapper() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::basis

template<class GV, size_t r = 1, class R = double>
const GlobalBasisType &Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::basis() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::finite_elements

template<class GV, size_t r = 1, class R = double>
const LocalFiniteElementFamilyType &Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::finite_elements() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::type

template<class GV, size_t r = 1, class R = double>
SpaceType Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::type() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::min_polorder

template<class GV, size_t r = 1, class R = double>
int Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::min_polorder() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::max_polorder

template<class GV, size_t r = 1, class R = double>
int Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::max_polorder() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::continuous

template<class GV, size_t r = 1, class R = double>
bool Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::continuous(const int diff_order) const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::continuous_normal_components

template<class GV, size_t r = 1, class R = double>
bool Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::continuous_normal_components() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::is_lagrangian

template<class GV, size_t r = 1, class R = double>
bool Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::is_lagrangian() const final

No documentation provided.

Method Dune::GDT::ContinuousLagrangeSpace::update_after_adapt

template<class GV, size_t r = 1, class R = double>
void Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::update_after_adapt() final

No documentation provided.

Constructor Dune::GDT::ContinuousLagrangeSpace::ContinuousLagrangeSpace<GV, r, R>

template<>
template<class GV, size_t r = 1, class R = double>
Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::ContinuousLagrangeSpace<GV, r, R>(GridViewType grd_vw, const int order, const std::string &logging_prefix, const std::array<bool, 3> &logging_state = XT::Common::default_logger_state())

No documentation provided.

Constructor Dune::GDT::ContinuousLagrangeSpace::ContinuousLagrangeSpace<GV, r, R>

template<>
template<class GV, size_t r = 1, class R = double>
Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::ContinuousLagrangeSpace<GV, r, R>(const ThisType &other)

No documentation provided.

Constructor Dune::GDT::ContinuousLagrangeSpace::ContinuousLagrangeSpace<GV, r, R>

template<>
template<class GV, size_t r = 1, class R = double>
Dune::GDT::ContinuousLagrangeSpace<GV, r, R>::ContinuousLagrangeSpace<GV, r, R>(ThisType&&) noexcept = default

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::grid_view_

const GridViewType Dune::GDT::ContinuousLagrangeSpace::grid_view_

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::fe_order_

const int Dune::GDT::ContinuousLagrangeSpace::fe_order_

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::min_polorder_

int Dune::GDT::ContinuousLagrangeSpace::min_polorder_

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::max_polorder_

int Dune::GDT::ContinuousLagrangeSpace::max_polorder_

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::local_finite_elements_

int Dune::GDT::ContinuousLagrangeSpace::local_finite_elements_

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::mapper_

int Dune::GDT::ContinuousLagrangeSpace::mapper_

No documentation provided.

Field Dune::GDT::ContinuousLagrangeSpace::basis_

int Dune::GDT::ContinuousLagrangeSpace::basis_

No documentation provided.

Type alias Dune::GDT::ContinuousLagrangeSpace::ThisType

type Dune::GDT::ContinuousLagrangeSpace::ThisType

No documentation provided.

Type alias Dune::GDT::ContinuousLagrangeSpace::BaseType

type Dune::GDT::ContinuousLagrangeSpace::BaseType

No documentation provided.

Type alias Dune::GDT::ContinuousLagrangeSpace::MapperImplementation

type Dune::GDT::ContinuousLagrangeSpace::MapperImplementation

No documentation provided.

Type alias Dune::GDT::ContinuousLagrangeSpace::GlobalBasisImplementation

type Dune::GDT::ContinuousLagrangeSpace::GlobalBasisImplementation

No documentation provided.