![]() |
Dune-Fufem 2.11-git
|
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;
353 using TupleVectorOfShapeFunctionCaches_t = typename TupleVectorOfShapeFunctionCaches<List, CT>::type;
void invalidate()
This header provides fallback implementations for dune-typetree<2.11.
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
STL namespace.
Definition baseclass.hh:22
decltype(std::declval< T1 >()+std::declval< T2 >()) PromotedType
A hierarchic cache for storing shape function evaluations for a tree.
Definition shapefunctioncache.hh:107
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 cache providing multiple versions for different quadrature rules.
Definition shapefunctioncache.hh:464
Cache & operator[](const QuadratureRuleKey &key)
Definition shapefunctioncache.hh:510
Cache & operator[](const FacetKey &facetKey)
Definition shapefunctioncache.hh:518
Cache & prototype()
Definition shapefunctioncache.hh:526
Objects of this class are used to uniquely identifies a cache.
Definition shapefunctioncache.hh:566
UniqueCacheId(const T &t)
Definition shapefunctioncache.hh:571
A class for managing caches of different types.
Definition shapefunctioncache.hh:612
auto & getCache(size_type index)
Obtain a registered cache.
Definition shapefunctioncache.hh:774
CacheManager(const CacheManager &other)=default
void invalidate()
Invalidate all stores caches.
Definition shapefunctioncache.hh:724
CacheManager & operator=(const CacheManager &)=delete
size_type registerCache(UniqueCacheId uniqueCacheId, Cache &&cache)
Register a new cache.
Definition shapefunctioncache.hh:750
CacheManager()=default
void setRule(const QuadratureRule &rule)
Set the associated quadrature rule for all stored caches.
Definition shapefunctioncache.hh:714
CacheManager(CacheManager &&other)=default
const QuadratureRule & rule() const
Obtain the associated quadrature rule.
Definition shapefunctioncache.hh:706
void clear()
Clear all stored data.
Definition shapefunctioncache.hh:696
A simple cache implementation storing values.
Definition shapefunctioncache.hh:805
SimpleCache(bool isNonAffine)
Definition shapefunctioncache.hh:813
void setEmpty(bool isEmpty)
Definition shapefunctioncache.hh:847
void setNonAffine()
Definition shapefunctioncache.hh:831
const QuadratureRule & rule() const
Definition shapefunctioncache.hh:826
void setRule(const QuadratureRule &rule)
Definition shapefunctioncache.hh:819
SimpleCache(const SimpleCache &other)=default
const auto & getValues() const
Definition shapefunctioncache.hh:857
typename std::vector< Value > ValueCache
Definition shapefunctioncache.hh:811
Definition quadraturerulecache.hh:190
static const Dune::QuadratureRule< coord_type, dim > & rule(const Dune::GeometryType >, const int order, int refinement)
Definition quadraturerulecache.hh:196
Quadrature rule for a subentity of some given geometry type.
Definition subentityquadraturerule.hh:31
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)
T push_back(T... args)
T size(T... args)
