Loading...
Searching...
No Matches
Dune::Functions::TaylorHoodPreBasis< GV, HI > Class Template Reference
Function space bases » Function space basis implementations

Pre-basis for lowest order Taylor-Hood basis. More...

`#include <dune/functions/functionspacebases/taylorhoodbasis.hh>`

## 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 = TaylorHoodBasisTree<GV>
| Template mapping root tree path to type of created tree node.

## Public Member Functions

| TaylorHoodPreBasis (const GridView &gv)
| Constructor for a given grid view object.
void | initializeIndices ()
| Initialize the global indices.
const GridView & | gridView () 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 | size () const
| Same as size(prefix) with empty prefix.
template<class SizePrefix>
size_type | size (const SizePrefix &prefix) const
| Return number of possible values for next position in multi index.
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<typename It>
It | indices (const Node &node, It it) const
auto | containerDescriptor () const
| Return an container descriptor depending on the flag HI. Either return a Tuple if hybrid indices should be used, otherwise return an Array.

## Static Public Attributes

static constexpr size_type | maxMultiIndexSize = useHybridIndices ? 3 : 2
static constexpr size_type | minMultiIndexSize = 2
static constexpr size_type | multiIndexBufferSize = maxMultiIndexSize

## Protected Member Functions

template<bool hi, class It, std::enable_if_t< not hi, int > = 0>
It | indicesImp (const Node &node, It multiIndices) const
template<bool hi, class It, std::enable_if_t< hi, int > = 0>
It | indicesImp (const Node &node, It multiIndices) const

## Static Protected Member Functions

template<class MultiIndex>
static const void | multiIndexPushFront (MultiIndex &M, size_type M0)

## Protected Attributes

GridView | gridView_
PQ1PreBasis | pq1PreBasis_
PQ2PreBasis | pq2PreBasis_

## Detailed Description

template<typename GV, bool HI = false>
class Dune::Functions::TaylorHoodPreBasis< GV, HI >

Pre-basis for lowest order Taylor-Hood basis.

Template Parameters

  GV | The grid view that the FE basis is defined on
  HI | Flag to select hybrid indices

Note
  This mainly serves as an example, since you can construct a pre-basis with the same functionality manually using
  static const int k = 1;
  using VelocityPreBasis = PowerPreBasis<IMS,LagrangePreBasis<GV,k+1>,dim>;
  using PressurePreBasis = LagrangePreBasis<GV,k>;
  using TaylorHoodKPreBasis = CompositePreBasis<BlockedLexicographic, VelocityPreBasis, PressurePreBasis>;
  Dune::Functions::CompositePreBasis
  A pre-basis for composite bases.
  Definition compositebasis.hh:57
  Dune::Functions::LagrangePreBasis
  A pre-basis for a PQ-lagrange bases with given order.
  Definition lagrangebasis.hh:65
  Dune::Functions::PowerPreBasis
  A pre-basis for power bases.
  Definition powerbasis.hh:54
  Where IMS is BlockedInterleaved if HI is set and FlatInterleaved otherwise.

## Member Typedef Documentation

## GridView

template<typename GV, bool HI = false>

using Dune::Functions::TaylorHoodPreBasis< GV, HI >::GridView = GV

The grid view that the FE basis is defined on.

## Node

template<typename GV, bool HI = false>

using Dune::Functions::TaylorHoodPreBasis< GV, HI >::Node = TaylorHoodBasisTree<GV>

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

## size_type

template<typename GV, bool HI = false>

using Dune::Functions::TaylorHoodPreBasis< GV, HI >::size_type = std::size_t

Type used for indices and size information.

## Constructor & Destructor Documentation

## TaylorHoodPreBasis()

template<typename GV, bool HI = false>

Dune::Functions::TaylorHoodPreBasis< GV, HI >::TaylorHoodPreBasis | ( | const GridView & | gv | ) |

inline

Constructor for a given grid view object.

## Member Function Documentation

## containerDescriptor()

template<typename GV, bool HI = false>

auto Dune::Functions::TaylorHoodPreBasis< GV, HI >::containerDescriptor | ( |  | ) | const

inline

Return an container descriptor depending on the flag HI. Either return a Tuple if hybrid indices should be used, otherwise return an Array.

## dimension()

template<typename GV, bool HI = false>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::dimension | ( |  | ) | const

inline

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

## gridView()

template<typename GV, bool HI = false>

const GridView & Dune::Functions::TaylorHoodPreBasis< GV, HI >::gridView | ( |  | ) | const

inline

Obtain the grid view that the basis is defined on.

## indices()

template<typename GV, bool HI = false>
template<typename It>

It Dune::Functions::TaylorHoodPreBasis< GV, HI >::indices | ( | const Node & | node,
|  | It | it ) const

inline

## indicesImp() [1/2]

template<typename GV, bool HI = false>
template<bool hi, class It, std::enable_if_t< hi, int > = 0>

It Dune::Functions::TaylorHoodPreBasis< GV, HI >::indicesImp | ( | const Node & | node,
|  | It | multiIndices ) const

inline protected

## indicesImp() [2/2]

template<typename GV, bool HI = false>
template<bool hi, class It, std::enable_if_t< not hi, int > = 0>

It Dune::Functions::TaylorHoodPreBasis< GV, HI >::indicesImp | ( | const Node & | node,
|  | It | multiIndices ) const

inline protected

## initializeIndices()

template<typename GV, bool HI = false>

void Dune::Functions::TaylorHoodPreBasis< GV, HI >::initializeIndices | ( |  | ) |

inline

Initialize the global indices.

## makeNode()

template<typename GV, bool HI = false>

Node Dune::Functions::TaylorHoodPreBasis< GV, HI >::makeNode | ( |  | ) | const

inline

Create tree node.

## maxNodeSize()

template<typename GV, bool HI = false>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::maxNodeSize | ( |  | ) | const

inline

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

## multiIndexPushFront()

template<typename GV, bool HI = false>
template<class MultiIndex>

const void Dune::Functions::TaylorHoodPreBasis< GV, HI >::multiIndexPushFront | ( | MultiIndex & | M,
|  | size_type | M0 )

inline static protected

## size() [1/2]

template<typename GV, bool HI = false>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::size | ( |  | ) | const

inline

Same as size(prefix) with empty prefix.

## size() [2/2]

template<typename GV, bool HI = false>
template<class SizePrefix>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::size | ( | const SizePrefix & | prefix | ) | const

inline

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

## update()

template<typename GV, bool HI = false>

void Dune::Functions::TaylorHoodPreBasis< GV, HI >::update | ( | const GridView & | gv | ) |

inline

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

## Member Data Documentation

## gridView_

template<typename GV, bool HI = false>

GridView Dune::Functions::TaylorHoodPreBasis< GV, HI >::gridView_

protected

## maxMultiIndexSize

template<typename GV, bool HI = false>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::maxMultiIndexSize = useHybridIndices ? 3 : 2

static constexpr

## minMultiIndexSize

template<typename GV, bool HI = false>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::minMultiIndexSize = 2

static constexpr

## multiIndexBufferSize

template<typename GV, bool HI = false>

size_type Dune::Functions::TaylorHoodPreBasis< GV, HI >::multiIndexBufferSize = maxMultiIndexSize

static constexpr

## pq1PreBasis_

template<typename GV, bool HI = false>

PQ1PreBasis Dune::Functions::TaylorHoodPreBasis< GV, HI >::pq1PreBasis_

protected

## pq2PreBasis_

template<typename GV, bool HI = false>

PQ2PreBasis Dune::Functions::TaylorHoodPreBasis< GV, HI >::pq2PreBasis_

protected

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

- taylorhoodbasis.hh