![]() |
Dune-Fufem 2.11-git
|
Loading...
Searching...
No Matches
productoperator.hh
Go to the documentation of this file.
67 using Range = decltype(std::declval<Contraction>()(std::declval<typename Operator0::Range>(), std::declval<typename Operator1::Range>()));
69 ProductOperator(const Contraction& product, const Operator0& operator0, const Operator1& operator1) :
76 static_assert(Operator0::arity+Operator1::arity <= 2, "ProductOperator: Arity sum of factors must not exceed 2");
93 LocalOperator(const Contraction& product, LocalOperator0&& localOperator0, LocalOperator1&& localOperator1):
111 void bind(const Intersection& intersection, const Element& element, const Element& otherElement)
206 return LocalOperator(productOperator.contraction(), localOperator(productOperator.operator0()), localOperator(productOperator.operator1()));
210 friend LocalFunctionAdaptor<LocalOperator> localFunction(const ProductOperator& productOperator)
static constexpr IntegralRange< std::decay_t< T > > range(T &&from, U &&to) noexcept
std::ptrdiff_t index() const
auto product(const Op &op, const L &l, const R &r)
Generic exterior product of two multilinear operators.
Definition userfunctions.hh:409
STL namespace.
Definition baseclass.hh:22
Base class for multilinear operator implementations.
Definition baseclass.hh:73
Base class for unary multilinear operator implementations.
Definition baseclass.hh:91
Adaptor for turning a Fufem::Forms LocalOperator into a LocalFunction.
Definition localfunctionadaptor.hh:42
Generic product of two multilinear operators.
Definition productoperator.hh:59
const Operator1 & operator1() const
Definition productoperator.hh:220
ProductOperator(const Contraction &product, const Operator0 &operator0, const Operator1 &operator1)
Definition productoperator.hh:69
friend LocalOperator localOperator(const ProductOperator &productOperator)
Definition productoperator.hh:204
decltype(std::declval< Contraction >()(std::declval< typename Operator0::Range >(), std::declval< typename Operator1::Range >())) Range
Definition productoperator.hh:67
const Operator0 & operator0() const
Definition productoperator.hh:215
const Contraction & contraction() const
Definition productoperator.hh:225
friend LocalFunctionAdaptor< LocalOperator > localFunction(const ProductOperator &productOperator)
Definition productoperator.hh:210
typename Operator0::Element Element
Definition productoperator.hh:66
Definition productoperator.hh:82
typename LocalOperator0::Intersection Intersection
Definition productoperator.hh:89
void registerOutsideLocalViews(const LV &... lvs)
Definition productoperator.hh:132
auto operator()(std::size_t index) const
Definition productoperator.hh:173
void bind(const Element &element)
Definition productoperator.hh:104
typename ProductOperator::Range Range
Definition productoperator.hh:91
void registerCaches(CacheManager &cacheManager)
Definition productoperator.hh:138
typename LocalOperator0::CacheManager CacheManager
Definition productoperator.hh:90
void registerOutsideCaches(CacheManager &cacheManager)
Definition productoperator.hh:144
typename LocalOperator0::Element Element
Definition productoperator.hh:88
void bind(const Intersection &intersection, const Element &element, const Element &otherElement)
Definition productoperator.hh:111
auto quadratureRuleKey() const
Definition productoperator.hh:99
void registerLocalViews(const LV &... lvs)
Definition productoperator.hh:125
void bindToCaches(CacheManager &cacheManager, OutsideCacheManager &... outsideCacheManager)
Definition productoperator.hh:151
LocalOperator(const Contraction &product, LocalOperator0 &&localOperator0, LocalOperator1 &&localOperator1)
Definition productoperator.hh:93
void unbind()
Definition productoperator.hh:118
T forward(T... args)
T cref(T... args)
T resize(T... args)
T size(T... args)
T tuple_cat(T... args)
