Class template Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>

template<class DomainField, size_t domain_dim>
class Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>

Interface for the coefficients (local keys associating DoFs with subentities) of a local finite element.

Method Dune::GDT::LocalFiniteElementCoefficientsInterface::copy

template<class DomainField, size_t domain_dim>
virtual ThisType *Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::copy() const = 0

No documentation provided.

Method Dune::GDT::LocalFiniteElementCoefficientsInterface::geometry_type

template<class DomainField, size_t domain_dim>
virtual const GeometryType &Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::geometry_type() const = 0

No documentation provided.

Method Dune::GDT::LocalFiniteElementCoefficientsInterface::size

template<class DomainField, size_t domain_dim>
virtual size_t Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::size() const = 0

No documentation provided.

Method Dune::GDT::LocalFiniteElementCoefficientsInterface::local_key

template<class DomainField, size_t domain_dim>
virtual const LocalKey &Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::local_key(const size_t ii) const = 0

No documentation provided.

Method Dune::GDT::LocalFiniteElementCoefficientsInterface::local_key_indices

template<class DomainField, size_t domain_dim>
std::vector<std::vector<std::vector<size_t>>> Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::local_key_indices() const

Computes the reverse information contained in the local keys.

Returns a data structure data, such that data[codim][subentity_index] contains a (possibly empty) set of indices, which can be used to access the corresponding local key:

const auto codim_to_subentity_index_to_key_indices_map = local_key_indices(reference_element);
for (size_t codim = 0; codim < codim_to_subentity_index_to_key_indices_map.size(); ++codim) {
  const auto& subentity_index_to_key_indices_map = codim_to_subentity_index_to_key_indices_map[codim];
  for (size_t subentity_index = 0; subentity_index < subentity_index_to_key_indices_map.size(); ++subentity_index) {
    const auto& key_indices = subentity_index_to_key_indices_map[subentity_index];
    if (key_indices.size() == 0)
      std::cout << "no LocalKey associated with codim " << codim << " subentity " << subentity_index << std::endl;
    else {
      std::cout << "the following LocalKeys are associated with codim " << codim << " subentity " << subentity_index
                << ": " << std::endl;
      for (const auto& local_key_index : key_indices)
        std::cout << "  " << local_key(local_key_index) << std::endl;
    }
  }
}

Note

It is guaranteed that access to map[codim][subentity_index] is valid for all 0 < = codim < = d and all 0 < = subentity_index < reference_element.size(codim).

Method Dune::GDT::LocalFiniteElementCoefficientsInterface::local_key_indices

template<class DomainField, size_t domain_dim>
std::vector<std::vector<size_t>> Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::local_key_indices(const size_t codim) const

See also: local_key_indices

Destructor Dune::GDT::LocalFiniteElementCoefficientsInterface::~LocalFiniteElementCoefficientsInterface

template<class DomainField, size_t domain_dim>
virtual Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::~LocalFiniteElementCoefficientsInterface() = default

No documentation provided.

Variable Dune::GDT::LocalFiniteElementCoefficientsInterface::d

template<class DomainField, size_t domain_dim>
const size_t Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::d

No documentation provided.

Type alias Dune::GDT::LocalFiniteElementCoefficientsInterface::ThisType

template<class DomainField, size_t domain_dim>
using Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::ThisType = LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>

No documentation provided.

Type alias Dune::GDT::LocalFiniteElementCoefficientsInterface::D

template<class DomainField, size_t domain_dim>
using Dune::GDT::LocalFiniteElementCoefficientsInterface<DomainField, domain_dim>::D = DomainField

No documentation provided.