![]() |
Dune-Fufem 2.11
|
Loading...
Searching...
No Matches
shapefunctioncache.hh
Go to the documentation of this file.
34 static constexpr decltype(auto) accessByTreePath(C&& container, const Dune::Fufem::Impl::TreePath<T...>& path)
47 using JacobianField = typename Dune::PromotionTraits<GeometryField, ReferenceJacobianField>::PromotedType;
49 using type = decltype(std::declval<ReferenceJacobian>()*std::declval<GeometryJacobianInverse>());
57 using JacobianField = typename Dune::PromotionTraits<GeometryField, ReferenceJacobianField>::PromotedType;
122 using FEGlobalJacobian = typename Impl::GlobalJacobianTraits<FEJacobian, GeometryJacobianInverse>::type;
349 using type = Dune::TupleVector<ShapeFunctionCache<Dune::TypeTree::Child<Node, indices>, CT>...>;
356 using TupleVectorOfChildShapeFunctionCaches_t = typename TupleVectorOfChildShapeFunctionCaches<Node, CT, ChildIndices<Node>>::type;
void invalidate()
constexpr index_constant< 0 > _0
int size() const
bool empty() const
void pop_front()
static constexpr IntegralRange< std::decay_t< T > > range(T &&from, U &&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 auto front() const
decltype(std::declval< T1 >()+std::declval< T2 >()) PromotedType
A class for managing caches of different types.
Definition shapefunctioncache.hh:615
auto & getCache(size_type index)
Obtain a registered cache.
Definition shapefunctioncache.hh:777
CacheManager(const CacheManager &other)=default
void invalidate()
Invalidate all stores caches.
Definition shapefunctioncache.hh:727
CacheManager & operator=(const CacheManager &)=delete
size_type registerCache(UniqueCacheId uniqueCacheId, Cache &&cache)
Register a new cache.
Definition shapefunctioncache.hh:753
CacheManager()=default
void setRule(const QuadratureRule &rule)
Set the associated quadrature rule for all stored caches.
Definition shapefunctioncache.hh:717
CacheManager(CacheManager &&other)=default
const QuadratureRule & rule() const
Obtain the associated quadrature rule.
Definition shapefunctioncache.hh:709
void clear()
Clear all stored data.
Definition shapefunctioncache.hh:699
A cache providing multiple versions for different quadrature rules.
Definition shapefunctioncache.hh:467
Cache & operator[](const QuadratureRuleKey &key)
Definition shapefunctioncache.hh:513
Cache & operator[](const FacetKey &facetKey)
Definition shapefunctioncache.hh:521
Cache & prototype()
Definition shapefunctioncache.hh:529
const auto & getValues()
Definition shapefunctioncache.hh:198
ShapeFunctionCache(const QuadratureRule &rule, const Node &node)
Definition shapefunctioncache.hh:128
const auto & getJacobians()
Definition shapefunctioncache.hh:211
ShapeFunctionCache(const Node &node)
Definition shapefunctioncache.hh:140
ChildCache & operator[](std::size_t i)
Definition shapefunctioncache.hh:311
const auto & getGlobalJacobians()
Definition shapefunctioncache.hh:224
typename std::vector< std::vector< FEValue > > ValueCache
Definition shapefunctioncache.hh:124
typename Node::FiniteElement::Traits::LocalBasisType::Traits::JacobianType FEJacobian
Definition shapefunctioncache.hh:121
typename Node::FiniteElement::Traits::LocalBasisType::Traits::RangeType FEValue
Definition shapefunctioncache.hh:120
ShapeFunctionCache(const QuadratureRule &rule)
Definition shapefunctioncache.hh:134
ShapeFunctionCache(const ShapeFunctionCache &other)=default
typename std::vector< std::vector< FEJacobian > > JacobianCache
Definition shapefunctioncache.hh:125
void setNonAffine()
Definition shapefunctioncache.hh:166
void setTree(const Node &node)
Definition shapefunctioncache.hh:161
void invalidate()
Definition shapefunctioncache.hh:176
constexpr std::size_t size() const noexcept
Definition shapefunctioncache.hh:329
typename std::vector< std::vector< FEGlobalJacobian > > GlobalJacobianCache
Definition shapefunctioncache.hh:126
const ChildCache & operator[](std::size_t i) const
Definition shapefunctioncache.hh:305
ShapeFunctionCache()=default
const QuadratureRule & rule() const
Definition shapefunctioncache.hh:171
void setRule(const QuadratureRule &rule)
Definition shapefunctioncache.hh:150
typename Impl::GlobalJacobianTraits< FEJacobian, GeometryJacobianInverse >::type FEGlobalJacobian
Definition shapefunctioncache.hh:122
A hierarchic cache for storing shape function evaluations for a tree.
Definition shapefunctioncache.hh:107
A simple cache implementation storing values.
Definition shapefunctioncache.hh:808
SimpleCache(bool isNonAffine)
Definition shapefunctioncache.hh:816
void setEmpty(bool isEmpty)
Definition shapefunctioncache.hh:850
void setNonAffine()
Definition shapefunctioncache.hh:834
const QuadratureRule & rule() const
Definition shapefunctioncache.hh:829
void setRule(const QuadratureRule &rule)
Definition shapefunctioncache.hh:822
SimpleCache(const SimpleCache &other)=default
const auto & getValues() const
Definition shapefunctioncache.hh:860
typename std::vector< Value > ValueCache
Definition shapefunctioncache.hh:814
Objects of this class are used to uniquely identifies a cache.
Definition shapefunctioncache.hh:569
UniqueCacheId(const T &t)
Definition shapefunctioncache.hh:574
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)
This header provides fallback implementations for dune-typetree<2.11.
