![]() |
Dune-Fufem 2.12-git
|
Loading...
Searching...
No Matches
shapefunctioncache.hh
Go to the documentation of this file.
28 static constexpr decltype(auto) accessByTreePath(C&& container, const Dune::TypeTree::TreePath<T...>& path)
41 using JacobianField = typename Dune::PromotionTraits<GeometryField, ReferenceJacobianField>::PromotedType;
43 using type = decltype(std::declval<ReferenceJacobian>()*std::declval<GeometryJacobianInverse>());
51 using JacobianField = typename Dune::PromotionTraits<GeometryField, ReferenceJacobianField>::PromotedType;
116 using FEGlobalJacobian = typename Impl::GlobalJacobianTraits<FEJacobian, GeometryJacobianInverse>::type;
343 using type = Dune::TupleVector<ShapeFunctionCache<Dune::TypeTree::Child<Node, indices>, CT>...>;
350 using TupleVectorOfChildShapeFunctionCaches_t = typename TupleVectorOfChildShapeFunctionCaches<Node, CT, ChildIndices<Node>>::type;
void invalidate()
int size() const
bool empty() const
void pop_front()
static constexpr IntegralRange< T > range(T from, T to) noexcept
constexpr void forEach(Range &&range, F &&f)
std::ptrdiff_t index() const
typename Impl::ChildTraits< Node, indices... >::type Child
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})
constexpr index_constant< 0 > _0
constexpr auto front() const
decltype(std::declval< T1 >()+std::declval< T2 >()) PromotedType
A class for managing caches of different types.
Definition shapefunctioncache.hh:609
auto & getCache(size_type index)
Obtain a registered cache.
Definition shapefunctioncache.hh:771
CacheManager(const CacheManager &other)=default
void invalidate()
Invalidate all stores caches.
Definition shapefunctioncache.hh:721
CacheManager & operator=(const CacheManager &)=delete
size_type registerCache(UniqueCacheId uniqueCacheId, Cache &&cache)
Register a new cache.
Definition shapefunctioncache.hh:747
CacheManager()=default
void setRule(const QuadratureRule &rule)
Set the associated quadrature rule for all stored caches.
Definition shapefunctioncache.hh:711
CacheManager(CacheManager &&other)=default
const QuadratureRule & rule() const
Obtain the associated quadrature rule.
Definition shapefunctioncache.hh:703
void clear()
Clear all stored data.
Definition shapefunctioncache.hh:693
A cache providing multiple versions for different quadrature rules.
Definition shapefunctioncache.hh:461
Cache & operator[](const QuadratureRuleKey &key)
Definition shapefunctioncache.hh:507
Cache & operator[](const FacetKey &facetKey)
Definition shapefunctioncache.hh:515
Cache & prototype()
Definition shapefunctioncache.hh:523
const auto & getValues()
Definition shapefunctioncache.hh:192
ShapeFunctionCache(const QuadratureRule &rule, const Node &node)
Definition shapefunctioncache.hh:122
const auto & getJacobians()
Definition shapefunctioncache.hh:205
ShapeFunctionCache(const Node &node)
Definition shapefunctioncache.hh:134
ChildCache & operator[](std::size_t i)
Definition shapefunctioncache.hh:305
const auto & getGlobalJacobians()
Definition shapefunctioncache.hh:218
typename std::vector< std::vector< FEValue > > ValueCache
Definition shapefunctioncache.hh:118
typename Node::FiniteElement::Traits::LocalBasisType::Traits::JacobianType FEJacobian
Definition shapefunctioncache.hh:115
typename Node::FiniteElement::Traits::LocalBasisType::Traits::RangeType FEValue
Definition shapefunctioncache.hh:114
ShapeFunctionCache(const QuadratureRule &rule)
Definition shapefunctioncache.hh:128
ShapeFunctionCache(const ShapeFunctionCache &other)=default
typename std::vector< std::vector< FEJacobian > > JacobianCache
Definition shapefunctioncache.hh:119
void setNonAffine()
Definition shapefunctioncache.hh:160
void setTree(const Node &node)
Definition shapefunctioncache.hh:155
void invalidate()
Definition shapefunctioncache.hh:170
constexpr std::size_t size() const noexcept
Definition shapefunctioncache.hh:323
typename std::vector< std::vector< FEGlobalJacobian > > GlobalJacobianCache
Definition shapefunctioncache.hh:120
const ChildCache & operator[](std::size_t i) const
Definition shapefunctioncache.hh:299
ShapeFunctionCache()=default
const QuadratureRule & rule() const
Definition shapefunctioncache.hh:165
void setRule(const QuadratureRule &rule)
Definition shapefunctioncache.hh:144
typename Impl::GlobalJacobianTraits< FEJacobian, GeometryJacobianInverse >::type FEGlobalJacobian
Definition shapefunctioncache.hh:116
A hierarchic cache for storing shape function evaluations for a tree.
Definition shapefunctioncache.hh:101
A simple cache implementation storing values.
Definition shapefunctioncache.hh:802
SimpleCache(bool isNonAffine)
Definition shapefunctioncache.hh:810
void setEmpty(bool isEmpty)
Definition shapefunctioncache.hh:844
void setNonAffine()
Definition shapefunctioncache.hh:828
const QuadratureRule & rule() const
Definition shapefunctioncache.hh:823
void setRule(const QuadratureRule &rule)
Definition shapefunctioncache.hh:816
SimpleCache(const SimpleCache &other)=default
const auto & getValues() const
Definition shapefunctioncache.hh:854
typename std::vector< Value > ValueCache
Definition shapefunctioncache.hh:808
Objects of this class are used to uniquely identifies a cache.
Definition shapefunctioncache.hh:563
UniqueCacheId(const T &t)
Definition shapefunctioncache.hh:568
Quadrature rule for a subentity of some given geometry type.
Definition subentityquadraturerule.hh:31
Definition quadraturerulecache.hh:190
static const Dune::QuadratureRule< coord_type, dim > & rule(const Dune::GeometryType >, const int order, int refinement)
Definition quadraturerulecache.hh:196
T clear(T... args)
T end(T... args)
T endl(T... args)
T find(T... args)
T forward(T... args)
T make_pair(T... args)
Definition baseclass.hh:22
STL namespace.
T push_back(T... args)
T size(T... args)
