Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
Dune::Fufem::Forms::MultipleQuadratureCache< C > Class Template Reference

A cache providing multiple versions for different quadrature rules. More...

#include <dune/fufem/forms/shapefunctioncache.hh>

Inheritance diagram for Dune::Fufem::Forms::MultipleQuadratureCache< C >:
Inheritance graph

Public Types

using ElementKey = QuadratureRuleKey
 
using FacetKey = std::pair< QuadratureRuleKey, std::size_t >
 

Public Member Functions

Cache & operator[] (const QuadratureRuleKey &key)
 
Cache & operator[] (const FacetKey &facetKey)
 
Cache & prototype ()
 
void clear ()
 

Detailed Description

template<class C>
class Dune::Fufem::Forms::MultipleQuadratureCache< C >

A cache providing multiple versions for different quadrature rules.

Template Parameters
CAn underlying cache implementation for a single quadrature rule

This provides multiple versions of C for different quadrature rules. Currently element- and facet-quadrature rules are supported. Element-quadrature rules are identified by a QuadratureRuleKey and facet-quadrature rules are identified by a std::pair of QuadratureRuleKey and and facet index.

The usage pattern of this is as follows: The MultipleQuadratureCache stores a default-constructed prototype instance of C which is available via the multipleQuadratureCache.prototype() method. This prototype should initially be setup with all the needed data. Later on, a cache for a specific QuadratureRule can be obtained using multipleQuadratureCache[key] where the key identifies either an element- or a facet rule. Internally this will copy the prototype and set the QuadratureRule of the new cache to the desired one.

Member Typedef Documentation

◆ ElementKey

template<class C >
using Dune::Fufem::Forms::MultipleQuadratureCache< C >::ElementKey = QuadratureRuleKey

◆ FacetKey

Member Function Documentation

◆ clear()

template<class C >
void Dune::Fufem::Forms::MultipleQuadratureCache< C >::clear ( )
inline

◆ operator[]() [1/2]

template<class C >
Cache & Dune::Fufem::Forms::MultipleQuadratureCache< C >::operator[] ( const FacetKey facetKey)
inline

◆ operator[]() [2/2]

template<class C >
Cache & Dune::Fufem::Forms::MultipleQuadratureCache< C >::operator[] ( const QuadratureRuleKey key)
inline

◆ prototype()

template<class C >
Cache & Dune::Fufem::Forms::MultipleQuadratureCache< C >::prototype ( )
inline

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