dune-pdelab  2.5-dev
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 > Class Template Reference

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

Inheritance diagram for Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >:
Inheritance graph

Public Types

typedef LocalFiniteElementMapTraits< FE > Traits
 export type of the signature More...
 

Public Member Functions

 PkLocalFiniteElementMapBase (const GV &gv)
 
template<typename Entity >
const Traits::FiniteElementTypefind (const Entity &e) const
 get local basis functions for entity More...
 
const Traits::FiniteElementTypefind (const EntityType &e) const=delete
 Return local basis for the given entity. More...
 
bool hasDOFs (int codim) const=delete
 return if FiniteElementMap has degrees of freedom for given codimension More...
 
std::size_t maxLocalSize () const=delete
 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=delete
 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=delete
 if the FiniteElementMap is fixedSize, the size methods computes the number of DOFs for given GeometryType. More...
 

Static Public Member Functions

static constexpr bool fixedSize ()
 
static constexpr bool hasDOFs (int codim)
 
static constexpr std::size_t size (GeometryType gt)
 
static constexpr std::size_t maxLocalSize ()
 

Member Typedef Documentation

◆ Traits

template<typename GV , typename D , typename R , unsigned int k>
typedef LocalFiniteElementMapTraits<FE> Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::Traits

export type of the signature

Constructor & Destructor Documentation

◆ PkLocalFiniteElementMapBase()

template<typename GV , typename D , typename R , unsigned int k>
Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::PkLocalFiniteElementMapBase ( const GV &  gv)
inline

Member Function Documentation

◆ find() [1/2]

const Traits::FiniteElementType& Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< Dune::PkLocalFiniteElement< D, R, 2, k > > , PkLocalFiniteElementMapBase< GV, D, R, k, 2 > >::find ( const EntityType &  e) const
deleteinherited

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.

◆ find() [2/2]

template<typename GV , typename D , typename R , unsigned int k>
template<typename Entity >
const Traits::FiniteElementType& Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::find ( const Entity &  e) const
inline

get local basis functions for entity

◆ fixedSize() [1/2]

bool Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< Dune::PkLocalFiniteElement< D, R, 2, k > > , PkLocalFiniteElementMapBase< GV, D, R, k, 2 > >::fixedSize ( ) const
deleteinherited

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

◆ fixedSize() [2/2]

template<typename GV , typename D , typename R , unsigned int k>
static constexpr bool Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::fixedSize ( )
inlinestatic

◆ hasDOFs() [1/2]

bool Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< Dune::PkLocalFiniteElement< D, R, 2, k > > , PkLocalFiniteElementMapBase< GV, D, R, k, 2 > >::hasDOFs ( int  codim) const
deleteinherited

return if FiniteElementMap has degrees of freedom for given codimension

◆ hasDOFs() [2/2]

template<typename GV , typename D , typename R , unsigned int k>
static constexpr bool Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::hasDOFs ( int  codim)
inlinestatic

◆ maxLocalSize() [1/2]

std::size_t Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< Dune::PkLocalFiniteElement< D, R, 2, k > > , PkLocalFiniteElementMapBase< GV, D, R, k, 2 > >::maxLocalSize ( ) const
deleteinherited

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.

◆ maxLocalSize() [2/2]

template<typename GV , typename D , typename R , unsigned int k>
static constexpr std::size_t Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::maxLocalSize ( )
inlinestatic

◆ size() [1/2]

std::size_t Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< Dune::PkLocalFiniteElement< D, R, 2, k > > , PkLocalFiniteElementMapBase< GV, D, R, k, 2 > >::size ( GeometryType  gt) const
deleteinherited

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

◆ size() [2/2]

template<typename GV , typename D , typename R , unsigned int k>
static constexpr std::size_t Dune::PDELab::fem::PkLocalFiniteElementMapBase< GV, D, R, k, 2 >::size ( GeometryType  gt)
inlinestatic

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