dune-pdelab  2.4-dev
Public Types | Public Member Functions | List of all members
Dune::PDELab::LocalFiniteElementMapInterface< T, Imp > Class Template Reference

interface for a finite element map More...

#include <dune/pdelab/finiteelementmap/finiteelementmap.hh>

Inheritance diagram for Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >:
Inheritance graph

Public Types

typedef T Traits
 Export traits. More...
 

Public Member Functions

template<class EntityType >
const Traits::FiniteElementType & find (const EntityType &e) const
 Return local basis for the given entity. More...
 
std::size_t maxLocalSize () const
 compute an upper bound for the local number of DOFs. More...
 
Size calculation

The FiniteElementMap provides different methods to compute the size of the GridFunctionSpace (if possible) without iterating the grid. The approach is as follows (pseudo code):

computeNumberOfDofs(GridView, FEM):
if(FEM.fixedSize()):
sum(FEM.size(gt)*GridView.size(gt) for gt in GeometryTypes)
else
sum(FEM.find(E).basis().size() for E in GridView.entities<0>())
bool fixedSize () const
 a FiniteElementMap is fixedSize iif the size of the local functions space for each GeometryType is fixed. More...
 
std::size_t size (GeometryType gt) const
 if the FiniteElementMap is fixedSize, the size methods computes the number of DOFs for given GeometryType. More...
 

Detailed Description

template<class T, class Imp>
class Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >

interface for a finite element map

Member Typedef Documentation

template<class T, class Imp>
typedef T Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >::Traits

Export traits.

Member Function Documentation

template<class T, class Imp>
template<class EntityType >
const Traits::FiniteElementType& Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >::find ( const EntityType &  e) const
inline

Return local basis for the given entity.

The return value is a reference to Traits::LocalBasisType. If there is a different local basis for two elements then this type must be polymorphic.

template<class T, class Imp>
bool Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >::fixedSize ( ) const
inline

a FiniteElementMap is fixedSize iif the size of the local functions space for each GeometryType is fixed.

template<class T, class Imp>
std::size_t Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >::maxLocalSize ( ) const
inline

compute an upper bound for the local number of DOFs.

this upper bound is used to avoid reallocations in std::vectors used during the assembly.

template<class T, class Imp>
std::size_t Dune::PDELab::LocalFiniteElementMapInterface< T, Imp >::size ( GeometryType  gt) const
inline

if the FiniteElementMap is fixedSize, the size methods computes the number of DOFs for given GeometryType.


The documentation for this class was generated from the following file: