Dune-Functions 2.12-git
Loading...
Searching...
No Matches

A pre-basis for a PQ-lagrange bases with given order. More...

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

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

Public Types

using GridView = GV
 The grid view that the FE basis is defined on.
 
using size_type = std::size_t
 Type used for indices and size information.
 
using Node = LagrangeNode< GV, k, R >
 Template mapping root tree path to type of created tree node.
 

Public Member Functions

 LagrangePreBasis (const GridView &gv)
 Constructor for a given grid view object with compile-time order.
 
 LagrangePreBasis (const GridView &gv, unsigned int runTimeOrder)
 Constructor for a given grid view object and run-time order.
 
void initializeIndices ()
 Initialize the global indices.
 
const GridViewgridView () const
 Obtain the grid view that the basis is defined on.
 
void update (const GridView &gv)
 Update the stored grid view, to be called if the grid has changed.
 
Node makeNode () const
 Create tree node.
 
size_type dimension () const
 Get the total dimension of the space spanned by this basis.
 
size_type maxNodeSize () const
 Get the maximal number of DOFs associated to node for any element.
 
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.
 
size_type size (const SizePrefix &prefix) const
 Return number of possible values for next position in multi index.
 
size_type size () const
 Get the total dimension of the space spanned by this basis.
 
auto containerDescriptor () const
 Return a flat container-descriptor.
 

Static Public Attributes

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

GridView gridView_
 
unsigned int order_
 
Dune::MultipleCodimMultipleGeomTypeMapper< GridViewmapper_
 
FaceDOFPermutation faceDOFPermutation_
 

Detailed Description

template<typename GV, int k, typename R>
class Dune::Functions::LagrangePreBasis< GV, k, R >

A pre-basis for a PQ-lagrange bases with given order.

Template Parameters
GVThe grid view that the FE basis is defined on
kThe polynomial order of ansatz functions; -1 means 'order determined at run-time'
RRange type used for shape function values
Note
For 3d grids the order is limited to 2 if the grid contains prism and pyramid elements, otherwise to 17. For all grids in 1d and 2d any order is supported.
Warning
For pyramid elements in 3d, the shape functions are piecewise polynomials with discontinuous gradients along the diagonal through the origin.

Member Typedef Documentation

◆ GridView

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

The grid view that the FE basis is defined on.

◆ Node

template<typename GV , int k, typename R >
using Dune::Functions::LagrangePreBasis< GV, k, R >::Node = LagrangeNode<GV, k, R>

Template mapping root tree path to type of created tree node.

◆ size_type

template<typename GV , int k, typename R >
using Dune::Functions::LagrangePreBasis< GV, k, R >::size_type = std::size_t

Type used for indices and size information.

Constructor & Destructor Documentation

◆ LagrangePreBasis() [1/2]

template<typename GV , int k, typename R >
Dune::Functions::LagrangePreBasis< GV, k, R >::LagrangePreBasis ( const GridView gv)
inline

Constructor for a given grid view object with compile-time order.

◆ LagrangePreBasis() [2/2]

template<typename GV , int k, typename R >
Dune::Functions::LagrangePreBasis< GV, k, R >::LagrangePreBasis ( const GridView gv,
unsigned int  runTimeOrder 
)
inline

Constructor for a given grid view object and run-time order.

Member Function Documentation

◆ containerDescriptor()

auto Dune::Functions::LeafPreBasisMixin< LagrangePreBasis< GV, k, R > >::containerDescriptor ( ) const
inlineinherited

Return a flat container-descriptor.

◆ dimension()

template<typename GV , int k, typename R >
size_type Dune::Functions::LagrangePreBasis< GV, k, R >::dimension ( ) const
inline

Get the total dimension of the space spanned by this basis.

◆ gridView()

template<typename GV , int k, typename R >
const GridView & Dune::Functions::LagrangePreBasis< GV, k, R >::gridView ( ) const
inline

Obtain the grid view that the basis is defined on.

◆ indices()

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

◆ initializeIndices()

template<typename GV , int k, typename R >
void Dune::Functions::LagrangePreBasis< GV, k, R >::initializeIndices ( )
inline

Initialize the global indices.

◆ makeNode()

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

Create tree node.

◆ maxNodeSize()

template<typename GV , int k, typename R >
size_type Dune::Functions::LagrangePreBasis< GV, k, R >::maxNodeSize ( ) const
inline

Get the maximal number of DOFs associated to node for any element.

◆ order()

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

Polynomial order used in the local Lagrange finite-elements.

◆ size() [1/2]

size_type Dune::Functions::LeafPreBasisMixin< LagrangePreBasis< GV, k, R > >::size ( ) const
inlineinherited

Get the total dimension of the space spanned by this basis.

◆ size() [2/2]

size_type Dune::Functions::LeafPreBasisMixin< LagrangePreBasis< GV, k, R > >::size ( const SizePrefix &  prefix) const
inlineinherited

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

◆ update()

template<typename GV , int k, typename R >
void Dune::Functions::LagrangePreBasis< GV, k, R >::update ( const GridView gv)
inline

Update the stored grid view, to be called if the grid has changed.

Member Data Documentation

◆ faceDOFPermutation_

template<typename GV , int k, typename R >
FaceDOFPermutation Dune::Functions::LagrangePreBasis< GV, k, R >::faceDOFPermutation_
protected

◆ gridView_

template<typename GV , int k, typename R >
GridView Dune::Functions::LagrangePreBasis< GV, k, R >::gridView_
protected

◆ mapper_

template<typename GV , int k, typename R >
Dune::MultipleCodimMultipleGeomTypeMapper<GridView> Dune::Functions::LagrangePreBasis< GV, k, R >::mapper_
protected

◆ maxMultiIndexSize

constexpr size_type Dune::Functions::LeafPreBasisMixin< LagrangePreBasis< GV, k, R > >::maxMultiIndexSize
staticconstexprinherited

Maximal length of global multi-indices.

◆ minMultiIndexSize

constexpr size_type Dune::Functions::LeafPreBasisMixin< LagrangePreBasis< GV, k, R > >::minMultiIndexSize
staticconstexprinherited

Minimal length of global multi-indices.

◆ multiIndexBufferSize

constexpr size_type Dune::Functions::LeafPreBasisMixin< LagrangePreBasis< GV, k, R > >::multiIndexBufferSize
staticconstexprinherited

Size required temporarily when constructing global multi-indices.

◆ order_

template<typename GV , int k, typename R >
unsigned int Dune::Functions::LagrangePreBasis< GV, k, R >::order_
protected

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