dune-pdelab  2.5-dev
Public Types | Public Member Functions | List of all members
Dune::PDELab::EdgeS0LocalFiniteElementMap< GV, FE, Imp > Class Template Reference

implementation for finite elements requiring oriented edges More...

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

Inheritance diagram for Dune::PDELab::EdgeS0LocalFiniteElementMap< GV, FE, Imp >:
Inheritance graph

Public Types

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

Public Member Functions

 EdgeS0LocalFiniteElementMap (const GV &gv_)
 construct EdgeSLocalFiniteElementMap More...
 
template<class EntityType >
const Traits::FiniteElementTypefind (const EntityType &e) const
 get local basis functions for 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...
 

Detailed Description

template<typename GV, typename FE, typename Imp>
class Dune::PDELab::EdgeS0LocalFiniteElementMap< GV, FE, Imp >

implementation for finite elements requiring oriented edges

This is for edge elements. It works for one type of Geometry only, and the requirements for the local finite element are:

Template Parameters
GVType of gridview to work with
FEType of local finite element
ImpType of the final LocalFiniteElementMap implementation

Member Typedef Documentation

◆ Traits

template<typename GV , typename FE , typename Imp >
typedef LocalFiniteElementMapTraits<FE> Dune::PDELab::EdgeS0LocalFiniteElementMap< GV, FE, Imp >::Traits

export type of the signature

Constructor & Destructor Documentation

◆ EdgeS0LocalFiniteElementMap()

template<typename GV , typename FE , typename Imp >
Dune::PDELab::EdgeS0LocalFiniteElementMap< GV, FE, Imp >::EdgeS0LocalFiniteElementMap ( const GV &  gv_)
inline

construct EdgeSLocalFiniteElementMap

Member Function Documentation

◆ find()

template<typename GV , typename FE , typename Imp >
template<class EntityType >
const Traits::FiniteElementType& Dune::PDELab::EdgeS0LocalFiniteElementMap< GV, FE, Imp >::find ( const EntityType &  e) const
inline

get local basis functions for entity

◆ fixedSize()

bool Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< FE > , Imp >::fixedSize ( ) const
deleteinherited

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

◆ hasDOFs()

bool Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< FE > , Imp >::hasDOFs ( int  codim) const
deleteinherited

return if FiniteElementMap has degrees of freedom for given codimension

◆ maxLocalSize()

std::size_t Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< FE > , Imp >::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.

◆ size()

std::size_t Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< FE > , Imp >::size ( GeometryType  gt) const
deleteinherited

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: