dune-pdelab  2.4-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...
 
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<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

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

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

construct EdgeSLocalFiniteElementMap

Member Function Documentation

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

References e.

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

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

std::size_t Dune::PDELab::LocalFiniteElementMapInterface< LocalFiniteElementMapTraits< FE > , Imp >::maxLocalSize ( ) const
inlineinherited

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.

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

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: