![]() |
Dune-Fufem 2.12-git
|
Loading...
Searching...
No Matches
unaryoperators.hh
Go to the documentation of this file.
104 using CacheManager = Dune::Fufem::Forms::CacheManager<typename Element::Geometry::ctype, Element::Geometry::mydimension>;
146 cacheManager.template getCache<TreeCache>(cacheIndex_)[subspaceBasis_.prefixPath()].setNonAffine();
256 void bind(const Intersection& intersection, const Element& element, const Element& otherElement)
314 return FEFunctionOperator<Basis, decltype(childTP), argIndex>(Base::subspaceBasis_.rootBasis(), childTP, Base::isAffine_);
348 Dune::FieldMatrix<typename LeafLBTraits::RangeFieldType, Node::degree(), LeafLBTraits::dimDomain>>;
355 using Range = typename Impl::GlobalJacobianTraits<ReferenceJacobian, GeometryJacobianInverse>::type;
384 void bind(const Intersection& intersection, const Element& element, const Element& otherElement)
429 const typename Base::LocalOperator::LeafNodeCache::GlobalJacobianCache* globalJacobianCache_ = nullptr;
442 return FEFunctionJacobianOperator<Basis, decltype(childTP), argIndex>(Base::subspaceBasis_.rootBasis(), childTP, Base::isAffine_);
507 void bind(const Intersection& intersection, const Element& element, const Element& otherElement)
522 using LocalBasisTraits = typename Base::LeafNode::FiniteElement::Traits::LocalBasisType::Traits;
561 const typename Base::LocalOperator::LeafNodeCache::GlobalJacobianCache* globalJacobianCache_ = nullptr;
int size() const
std::ptrdiff_t index() const
size_t() const
decltype(auto) child(Node &&node, TreePath< Indices... > treePath)
constexpr index_constant< 0 > _0
RF RangeFieldType
A class for managing caches of different types.
Definition shapefunctioncache.hh:609
size_type registerCache(UniqueCacheId uniqueCacheId, Cache &&cache)
Register a new cache.
Definition shapefunctioncache.hh:747
Definition unaryoperators.hh:487
void bindToCaches(CacheManager &cacheManager, OutsideCacheManager &... outsideCacheManager)
Definition unaryoperators.hh:513
void bind(const Element &)
Definition unaryoperators.hh:499
void bind(const Intersection &intersection, const Element &element, const Element &otherElement)
Definition unaryoperators.hh:507
typename Base::LocalOperator::Intersection Intersection
Definition unaryoperators.hh:495
typename Base::LocalOperator::CacheManager CacheManager
Definition unaryoperators.hh:496
typename FEFunctionDivergenceOperator::Range Range
Definition unaryoperators.hh:497
auto operator()(std::size_t index) const
Definition unaryoperators.hh:518
Linear map representing the divergenc of the elements of an FE-space.
Definition unaryoperators.hh:467
typename Base::Element Element
Definition unaryoperators.hh:474
std::conditional_t< Dune::TypeTree::Concept::LeafTreeNode< Node >, typename LeafLBTraits::RangeFieldType, typename LeafLBTraits::JacobianType::block_type > Range
Definition unaryoperators.hh:478
friend LocalOperator localOperator(const FEFunctionDivergenceOperator &op)
Definition unaryoperators.hh:564
FEFunctionDivergenceOperator(const Base &other)
Definition unaryoperators.hh:482
FEFunctionDivergenceOperator< B, TP, k > rebindArgIndex() const
Get a copy of this operator bound to another argument.
Definition unaryoperators.hh:571
Definition unaryoperators.hh:364
void bind(const Element &)
Definition unaryoperators.hh:376
void bind(const Intersection &intersection, const Element &element, const Element &otherElement)
Definition unaryoperators.hh:384
typename Base::LocalOperator::Intersection Intersection
Definition unaryoperators.hh:372
typename Base::LocalOperator::CacheManager CacheManager
Definition unaryoperators.hh:373
void bindToCaches(CacheManager &cacheManager, OutsideCacheManager &... outsideCacheManager)
Definition unaryoperators.hh:390
auto operator()(std::size_t index) const
Definition unaryoperators.hh:395
typename FEFunctionJacobianOperator::Range Range
Definition unaryoperators.hh:374
Linear map representing the jacobians of the elements of an FE-space.
Definition unaryoperators.hh:340
typename Impl::GlobalJacobianTraits< ReferenceJacobian, GeometryJacobianInverse >::type Range
Definition unaryoperators.hh:355
FEFunctionJacobianOperator(const Base &other)
Definition unaryoperators.hh:359
FEFunctionJacobianOperator< B, TP, k > rebindArgIndex() const
Get a copy of this operator bound to another argument.
Definition unaryoperators.hh:447
friend LocalOperator localOperator(const FEFunctionJacobianOperator &op)
Definition unaryoperators.hh:432
auto childOperator(Dune::index_constant< i > childIndex) const
Definition unaryoperators.hh:438
typename Base::Element Element
Definition unaryoperators.hh:354
Definition unaryoperators.hh:236
typename Base::LocalOperator::Intersection Intersection
Definition unaryoperators.hh:244
void bind(const Element &)
Definition unaryoperators.hh:248
void bind(const Intersection &intersection, const Element &element, const Element &otherElement)
Definition unaryoperators.hh:256
typename Base::LocalOperator::CacheManager CacheManager
Definition unaryoperators.hh:245
void bindToCaches(CacheManager &cacheManager, OutsideCacheManager &... outsideCacheManager)
Definition unaryoperators.hh:262
auto operator()(std::size_t index) const
Definition unaryoperators.hh:267
typename FEFunctionOperator::Range Range
Definition unaryoperators.hh:246
Linear map representing the elements of an FE-space.
Definition unaryoperators.hh:216
std::conditional_t< Dune::TypeTree::Concept::LeafTreeNode< Node >, typename LeafLBTraits::RangeType, Dune::FieldVector< typename LeafLBTraits::RangeFieldType, Node::degree()> > Range
Definition unaryoperators.hh:227
auto childOperator(Dune::index_constant< i > childIndex) const
Definition unaryoperators.hh:310
typename Base::Element Element
Definition unaryoperators.hh:223
FEFunctionOperator< B, TP, k > rebindArgIndex() const
Get a copy of this operator bound to another argument.
Definition unaryoperators.hh:319
FEFunctionOperator(const Base &other)
Definition unaryoperators.hh:231
friend LocalOperator localOperator(const FEFunctionOperator &op)
Definition unaryoperators.hh:304
Definition unaryoperators.hh:94
bool isAffine_
Definition unaryoperators.hh:170
SubspaceBasis subspaceBasis_
Definition unaryoperators.hh:164
void unbind()
Definition unaryoperators.hh:120
LocalOperator(const SubspaceBasis &subspaceBasis, bool isAffine)
Definition unaryoperators.hh:106
void registerOutsideCaches(CacheManager &cacheManager)
Definition unaryoperators.hh:149
LocalOperator(const FEOperatorBase &op)
Definition unaryoperators.hh:116
const LocalView * localView_
Definition unaryoperators.hh:167
typename FEOperatorBase::Element Element
Definition unaryoperators.hh:102
void registerOutsideLocalViews(const LV &... lvs)
Definition unaryoperators.hh:138
void registerCaches(CacheManager &cacheManager)
Definition unaryoperators.hh:141
auto quadratureRuleKey() const
Definition unaryoperators.hh:123
ShapeFunctionCache< Tree > TreeCache
Definition unaryoperators.hh:97
QuadratureRuleKey quadratureRuleKey_
Definition unaryoperators.hh:168
auto & leafNodeCache(CacheManager &cacheManager)
Definition unaryoperators.hh:159
std::size_t cacheIndex_
Definition unaryoperators.hh:169
void registerLocalViews(const LV &... lvs)
Definition unaryoperators.hh:129
const LeafNode * leafNode_
Definition unaryoperators.hh:166
const LeafTreePath leafTreePath_
Definition unaryoperators.hh:165
const LeafNode & leafNode() const
Definition unaryoperators.hh:154
typename FEOperatorBase::Intersection Intersection
Definition unaryoperators.hh:103
Base class of elementary differential operators on an FE-space.
Definition unaryoperators.hh:55
typename Dune::TypeTree::ChildForTreePath< Tree, TP > Node
Definition unaryoperators.hh:60
typename B::LocalView LocalView
Definition unaryoperators.hh:58
SubspaceBasis subspaceBasis_
Definition unaryoperators.hh:199
typename Dune::TypeTree::ChildForTreePath< Tree, LeafTreePath > LeafNode
Definition unaryoperators.hh:79
typename Basis::LocalView::Element Element
Definition unaryoperators.hh:85
decltype(leafTreePath(std::declval< TP >())) LeafTreePath
Definition unaryoperators.hh:78
FEOperatorBase(const Basis &basis, const TreePath &treePath, bool isAffine=true)
Definition unaryoperators.hh:88
typename Dune::Functions::SubspaceBasis< B, TP > SubspaceBasis
Definition unaryoperators.hh:61
static auto leafTreePath(const TP &tp)
Definition unaryoperators.hh:69
typename Basis::GridView::Intersection Intersection
Definition unaryoperators.hh:86
FEOperatorBase< B, TP, k > rebindArgIndex() const
Get a copy of this operator bound to another argument.
Definition unaryoperators.hh:193
typename LocalView::Tree Tree
Definition unaryoperators.hh:59
A hierarchic cache for storing shape function evaluations for a tree.
Definition shapefunctioncache.hh:101
Base class for unary multilinear operator implementations.
Definition baseclass.hh:91
Objects of this class are used to uniquely identifies a cache.
Definition shapefunctioncache.hh:563
QuadratureRuleKey derivative() const
Definition quadraturerulecache.hh:154
T forward(T... args)
auto div(const Op &op)
Obtain the divergence of an operator.
Definition userfunctions.hh:1195
Definition baseclass.hh:22
const T & asNumber(const T &t)
Forward given value as number.
Definition asnumber.hh:23
STL namespace.
T tie(T... args)
