Loading...
Searching...
No Matches
Dune::Functions::BasisFactory Namespace Reference

## Namespaces

namespace | Experimental

## Classes

struct | IndexMergingStrategy
| Base class for index merging strategies to simplify detection. More...
struct | FlatLexicographic
| Lexicographic merging of direct children without blocking. More...
struct | FlatInterleaved
| Interleaved merging of direct children without blocking. More...
struct | BlockedLexicographic
| Lexicographic merging of direct children with blocking (i.e. creating one block per direct child). More...
struct | BlockedInterleaved
| Interleaved merging of direct children with blocking (i.e. creating blocks at the leaves containing one leaf per child each). More...

## Functions

void | registerIndexMergingStrategy (IndexMergingStrategy)
constexpr FlatLexicographic | flatLexicographic ()
| Creates a lexicographic merging of direct children without blocking.
constexpr FlatInterleaved | flatInterleaved ()
| Creates an interleaved merging of direct children without blocking.
constexpr BlockedLexicographic | blockedLexicographic ()
| Creates a lexicographic merging of direct children with blocking (i.e. creating one block per direct child).
constexpr BlockedInterleaved | blockedInterleaved ()
| Creates an interleaved merging of direct children with blocking (i.e. creating blocks at the leaves containing one leaf per child each).
template<std::size_t k>
auto | brezziDouglasMarini ()
| Create a pre-basis factory that can create a Brezzi-Douglas-Marini pre-basis.
auto | bSpline (const std::vector< double > &knotVector, unsigned int order, bool makeOpen=true)
| Create a pre-basis factory that can create a B-spline pre-basis.
template<typename... Args, std::enable_if_t< Concept::isIndexMergingStrategy< typename LastType< Args... >::type >(), int > = 0>
auto | composite (Args &&... args)
| Create a factory builder that can build a CompositePreBasis.
template<typename... Args, std::enable_if_t< not Concept::isIndexMergingStrategy< typename LastType< Args... >::type >(), int > = 0>
auto | composite (Args &&... args)
| Create a factory builder that can build a CompositePreBasis.
template<class GridView, class PreBasisFactory>
auto | makeBasis (const GridView &gridView, PreBasisFactory &&preBasisFactory)
template<class ChildPreBasisFactory, class IndexMergingStrategy>
auto | power (ChildPreBasisFactory &&childPreBasisFactory, std::size_t k, const IndexMergingStrategy &)
| Create a pre-basis factory that can build a PowerPreBasis.
template<class ChildPreBasisFactory>
auto | power (ChildPreBasisFactory &&childPreBasisFactory, std::size_t k)
| Create a factory builder that can build a PowerPreBasis.
template<int k, typename R = double>
auto | hierarchicalLagrange ()
| A factory that can create a HierarchicalLagrange pre-basis.
template<int k, typename R = double>
auto | hierarchicalLagrangeWithElementBubble ()
| A factory that can create a HierarchicalLagrangeWithElementBubble pre-basis.
template<typename R = double>
auto | hierarchicalP1B ()
| Explicit factory for k=1 for the HierarchicalLagrangeWithElementBubblePreBasis pre-basis.
template<typename R = double>
auto | hierarchicalP2B ()
| Explicit factory for k=2 for the HierarchicalLagrangeWithElementBubblePreBasis pre-basis.
template<std::size_t k, typename R = double>
auto | lagrange ()
| Create a pre-basis factory that can create a Lagrange pre-basis.
template<typename R = double>
auto | lagrange (int order)
| Create a pre-basis factory that can create a Lagrange pre-basis with a run-time order.
template<std::size_t order, typename R = double>
auto | lagrangeDG ()
| Create a pre-basis factory that can create a LagrangeDG pre-basis.
template<typename R = double>
auto | lagrangeDG (unsigned int order)
| Create a pre-basis factory that can create a LagrangeDG pre-basis.
template<class R = double>
auto | morley ()
| construct a PreBasisFactory for the Morley Finite Element
template<std::size_t kind, std::size_t order, typename Range = double>
auto | nedelec ()
| Create a pre-basis factory that can create a Nédélec pre-basis.
template<std::size_t k, class ChildPreBasisFactory, class IndexMergingStrategy>
auto | power (ChildPreBasisFactory &&childPreBasisFactory, const IndexMergingStrategy &)
| Create a pre-basis factory that can build a PowerPreBasis.
template<std::size_t k, class ChildPreBasisFactory>
auto | power (ChildPreBasisFactory &&childPreBasisFactory)
| Create a factory builder that can build a PowerPreBasis.
template<class Dummy = void>
auto | rannacherTurek ()
| Create a pre-basis factory that can create a Rannacher-Turek pre-basis.
template<std::size_t k>
auto | raviartThomas ()
| Create a pre-basis factory that can create a Raviart-Thomas pre-basis.
template<int k, typename R = double>
auto | refinedLagrange ()
| Create a pre-basis factory that can create a RefinedLagrange pre-basis.
auto | taylorHood ()
| Create a pre-basis factory that can create a Taylor-Hood pre-basis.

## Function Documentation

## composite()

template<typename... Args, std::enable_if_t< not Concept::isIndexMergingStrategy< typename LastType< Args... >::type >(), int > = 0>

auto Dune::Functions::BasisFactory::composite | ( | Args &&... | args | ) |

Create a factory builder that can build a CompositePreBasis.

Template Parameters

  Args | Types of child factory builders

Parameters

  args | Child factory builder objects

This is the overload used if no IndexMergingStrategy is supplied. In this case the BasisFactory::BlockedLexicographic strategy is used.

## hierarchicalP1B()

template<typename R = double>

auto Dune::Functions::BasisFactory::hierarchicalP1B | ( |  | ) |

Explicit factory for k=1 for the HierarchicalLagrangeWithElementBubblePreBasis pre-basis.

## hierarchicalP2B()

template<typename R = double>

auto Dune::Functions::BasisFactory::hierarchicalP2B | ( |  | ) |

Explicit factory for k=2 for the HierarchicalLagrangeWithElementBubblePreBasis pre-basis.

## makeBasis()

template<class GridView, class PreBasisFactory>

auto Dune::Functions::BasisFactory::makeBasis | ( | const GridView & | gridView,
|  | PreBasisFactory && | preBasisFactory )

## morley()

template<class R = double>

auto Dune::Functions::BasisFactory::morley | ( |  | ) |

construct a PreBasisFactory for the Morley Finite Element

Template Parameters

  R | RangeFieldType

Returns
  the PreBasisFactory

## registerIndexMergingStrategy()

void Dune::Functions::BasisFactory::registerIndexMergingStrategy | ( | IndexMergingStrategy |  | ) |