dune-pdelab  2.5-dev
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange > Class Template Reference

Qk discontinuous Galerkin FiniteElementMap based on Lagrange polynomials. More...

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

Inheritance diagram for Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >:
Inheritance graph

Public Types

typedef LocalFiniteElementMapTraits< Dune::QkDGLagrangeLocalFiniteElement< D, R, k, d > > Traits
 export type of the signature More...
 

Public Member Functions

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...
 

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 ()
 
static constexpr QkDGBasisPolynomial polynomial ()
 return type of polynomial basis More...
 
static constexpr std::size_t order ()
 return order of polynomial basis More...
 

Detailed Description

template<class D, class R, int k, int d>
class Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >

Qk discontinuous Galerkin FiniteElementMap based on Lagrange polynomials.

Template Parameters
DType used for coordinates
RType used for shape function values
kOrder of polynomial basis
dGrid dimension

Member Typedef Documentation

◆ Traits

export type of the signature

Member Function Documentation

◆ find()

const Traits::FiniteElementType& Dune::PDELab::SimpleLocalFiniteElementMap< Dune::QkDGLagrangeLocalFiniteElement< D, R, k, d > , dim_ >::find ( const EntityType &  e) const
inlineinherited

get local basis functions for entity

◆ fixedSize() [1/2]

template<class D , class R , int k, int d>
static constexpr bool Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >::fixedSize ( )
inlinestatic

◆ fixedSize() [2/2]

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

◆ hasDOFs() [1/2]

template<class D , class R , int k, int d>
static constexpr bool Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >::hasDOFs ( int  codim)
inlinestatic

◆ hasDOFs() [2/2]

return if FiniteElementMap has degrees of freedom for given codimension

◆ maxLocalSize() [1/2]

template<class D , class R , int k, int d>
static constexpr std::size_t Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >::maxLocalSize ( )
inlinestatic

◆ maxLocalSize() [2/2]

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.

◆ order()

template<class D , class R , int k, int d>
static constexpr std::size_t Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >::order ( )
inlinestatic

return order of polynomial basis

◆ polynomial()

template<class D , class R , int k, int d>
static constexpr QkDGBasisPolynomial Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >::polynomial ( )
inlinestatic

return type of polynomial basis

◆ size() [1/2]

template<class D , class R , int k, int d>
static constexpr std::size_t Dune::PDELab::QkDGLocalFiniteElementMap< D, R, k, d, QkDGBasisPolynomial::lagrange >::size ( GeometryType  gt)
inlinestatic

◆ size() [2/2]

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: