Dune-Functions 2.11
Loading...
Searching...
No Matches
Dune::Functions::LagrangeDGPreBasis< GV, k, R > Class Template Reference

PreBasis implementation for a Lagrangean-DG finite element space. More...

#include <dune/functions/functionspacebases/lagrangedgbasis.hh>

Inheritance diagram for Dune::Functions::LagrangeDGPreBasis< GV, k, R >:
Inheritance graph

Public Types

using GridView = GV
 The grid view that the FE space is defined on.
using size_type = typename Base::size_type
using Node = LagrangeDGNode<GV, k, R>

Public Member Functions

 LagrangeDGPreBasis (const GridView &gv)
 Constructor for a given grid view object.
 LagrangeDGPreBasis (const GridView &gv, unsigned int order)
 Constructor for a given grid view object.
Node makeNode () const
 Create tree node.
template<class Node, class It>
It indices (const Node &node, It it) const
unsigned int order () const
 Polynomial order used in the local Lagrange finite-elements.
void initializeIndices ()
 Initialize the global index information.
const GridViewgridView () const
 Export the stored GridView.
void update (const GridView &gv)
 Update the stored GridView.
size_type dimension () const
 Return total number of basis functions.
size_type maxNodeSize () const
 Return maximal number of basis functions per element.
template<class Node, class It>
It indices (const Node &node, It it) const
 Fill cache with global indices of DOFs associated to the given bound node.
size_type size (const SizePrefix &prefix) const
 Return number of possible values for next position in multi index.
auto containerDescriptor () const
 Return a flat container-descriptor.

Static Public Attributes

static const int dofsPerEdge = k+1
static const int dofsPerTriangle = (k+1)*(k+2)/2
static const int dofsPerQuad = (k+1)*(k+1)
static const int dofsPerTetrahedron = (k+1)*(k+2)*(k+3)/6
static const int dofsPerPrism = (k+1)*(k+1)*(k+2)/2
static const int dofsPerHexahedron = (k+1)*(k+1)*(k+1)
static const int dofsPerPyramid = (k+1)*(k+2)*(2*k+3)/6
static constexpr size_type maxMultiIndexSize
 Maximal length of global multi-indices.
static constexpr size_type minMultiIndexSize
 Minimal length of global multi-indices.
static constexpr size_type multiIndexBufferSize
 Size required temporarily when constructing global multi-indices.

Protected Attributes

unsigned int order_
GridView gridView_
Dune::MultipleCodimMultipleGeomTypeMapper< GridViewmapper_
std::size_t maxNodeSize_

Detailed Description

template<typename GV, int k, typename R = double>
class Dune::Functions::LagrangeDGPreBasis< GV, k, R >

PreBasis implementation for a Lagrangean-DG finite element space.

Template Parameters
GVThe grid view that the FE basis is defined on
kThe order of ansatz functions; -1 means 'order determined at run-time'
RRange type used for shape function values

Member Typedef Documentation

◆ GridView

template<typename GV, int k, typename R = double>
using Dune::Functions::LagrangeDGPreBasis< GV, k, R >::GridView = GV

The grid view that the FE space is defined on.

◆ Node

template<typename GV, int k, typename R = double>
using Dune::Functions::LagrangeDGPreBasis< GV, k, R >::Node = LagrangeDGNode<GV, k, R>

◆ size_type

template<typename GV, int k, typename R = double>
using Dune::Functions::LagrangeDGPreBasis< GV, k, R >::size_type = typename Base::size_type

Constructor & Destructor Documentation

◆ LagrangeDGPreBasis() [1/2]

template<typename GV, int k, typename R = double>
Dune::Functions::LagrangeDGPreBasis< GV, k, R >::LagrangeDGPreBasis ( const GridView & gv)
inline

Constructor for a given grid view object.

This constructor requires that the order is given at compile-time using k>=0

◆ LagrangeDGPreBasis() [2/2]

template<typename GV, int k, typename R = double>
Dune::Functions::LagrangeDGPreBasis< GV, k, R >::LagrangeDGPreBasis ( const GridView & gv,
unsigned int order )
inline

Constructor for a given grid view object.

This constructor has to be used to set the order dynamically which is enables using k<0.

Member Function Documentation

◆ containerDescriptor()

Return a flat container-descriptor.

◆ dimension()

template<typename GV>
size_type Dune::Functions::LeafPreBasisMapperMixin< GV >::dimension ( ) const
inlineinherited

Return total number of basis functions.

◆ gridView()

template<typename GV>
const GridView & Dune::Functions::LeafPreBasisMapperMixin< GV >::gridView ( ) const
inlineinherited

Export the stored GridView.

◆ indices() [1/2]

template<typename GV, int k, typename R = double>
template<class Node, class It>
It Dune::Functions::LagrangeDGPreBasis< GV, k, R >::indices ( const Node & node,
It it ) const
inline

◆ indices() [2/2]

template<typename GV>
template<class Node, class It>
It Dune::Functions::LeafPreBasisMapperMixin< GV >::indices ( const Node & node,
It it ) const
inlineinherited

Fill cache with global indices of DOFs associated to the given bound node.

◆ initializeIndices()

template<typename GV>
void Dune::Functions::LeafPreBasisMapperMixin< GV >::initializeIndices ( )
inlineinherited

Initialize the global index information.

◆ makeNode()

template<typename GV, int k, typename R = double>
Node Dune::Functions::LagrangeDGPreBasis< GV, k, R >::makeNode ( ) const
inline

Create tree node.

◆ maxNodeSize()

template<typename GV>
size_type Dune::Functions::LeafPreBasisMapperMixin< GV >::maxNodeSize ( ) const
inlineinherited

Return maximal number of basis functions per element.

◆ order()

template<typename GV, int k, typename R = double>
unsigned int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::order ( ) const
inline

Polynomial order used in the local Lagrange finite-elements.

◆ size()

size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::size ( const SizePrefix & prefix) const
inlineinherited

Return number of possible values for next position in multi index.

◆ update()

template<typename GV>
void Dune::Functions::LeafPreBasisMapperMixin< GV >::update ( const GridView & gv)
inlineinherited

Update the stored GridView.

Member Data Documentation

◆ dofsPerEdge

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerEdge = k+1
static

◆ dofsPerHexahedron

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerHexahedron = (k+1)*(k+1)*(k+1)
static

◆ dofsPerPrism

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerPrism = (k+1)*(k+1)*(k+2)/2
static

◆ dofsPerPyramid

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerPyramid = (k+1)*(k+2)*(2*k+3)/6
static

◆ dofsPerQuad

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerQuad = (k+1)*(k+1)
static

◆ dofsPerTetrahedron

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerTetrahedron = (k+1)*(k+2)*(k+3)/6
static

◆ dofsPerTriangle

template<typename GV, int k, typename R = double>
const int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::dofsPerTriangle = (k+1)*(k+2)/2
static

◆ gridView_

template<typename GV>
GridView Dune::Functions::LeafPreBasisMapperMixin< GV >::gridView_
protectedinherited

◆ mapper_

template<typename GV>
Dune::MultipleCodimMultipleGeomTypeMapper<GridView> Dune::Functions::LeafPreBasisMapperMixin< GV >::mapper_
protectedinherited

◆ maxMultiIndexSize

size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::maxMultiIndexSize
staticconstexprinherited

Maximal length of global multi-indices.

◆ maxNodeSize_

template<typename GV>
std::size_t Dune::Functions::LeafPreBasisMapperMixin< GV >::maxNodeSize_
protectedinherited

◆ minMultiIndexSize

size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::minMultiIndexSize
staticconstexprinherited

Minimal length of global multi-indices.

◆ multiIndexBufferSize

size_type Dune::Functions::LeafPreBasisMixin< LeafPreBasisMapperMixin< GV > >::multiIndexBufferSize
staticconstexprinherited

Size required temporarily when constructing global multi-indices.

◆ order_

template<typename GV, int k, typename R = double>
unsigned int Dune::Functions::LagrangeDGPreBasis< GV, k, R >::order_
protected

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