![]() |
Dune-Fufem 2.11-git
|
Loading...
Searching...
No Matches
userfunctions.hh File Reference
#include <cstddef>#include <type_traits>#include <utility>#include <dune/common/fvector.hh>#include <dune/common/fmatrix.hh>#include <dune/common/version.hh>#include <dune/istl/scaledidmatrix.hh>#include <dune/typetree/childextraction.hh>#include <dune/fufem/forms/baseclass.hh>#include <dune/fufem/forms/unaryoperators.hh>#include <dune/fufem/forms/transformedoperator.hh>#include <dune/fufem/forms/productoperator.hh>#include <dune/fufem/forms/sumoperator.hh>#include <dune/fufem/forms/boundunaryoperator.hh>#include <dune/fufem/forms/outsideoperator.hh>#include <dune/fufem/forms/localoperators.hh>#include <dune/fufem/forms/geometryoperators.hh>#include <dune/fufem/typetreefallback.hh>Go to the source code of this file.
Classes | |
| class | Dune::Fufem::Forms::RangeOperator< OuterOp > |
| Adaptor for making a callback compatible with Dune::Fufem::Forms. More... | |
| class | Dune::Fufem::Forms::NonAffineFamily |
| Tag type to classify non-affine finite element families. More... | |
Namespaces | |
| namespace | Dune |
| namespace | Dune::Fufem |
| namespace | Dune::Fufem::Forms |
Functions | |
| template<class L , class R > | |
| auto | Dune::Fufem::Forms::operator+ (const L &l, const R &r) |
| Create the sum of two operators. | |
| template<class Op > requires isOperatorOrSumOperator_v<Op> | |
| auto | Dune::Fufem::Forms::operator- (const Op &op) |
| Negate an operator. | |
| template<class L , class R > | |
| auto | Dune::Fufem::Forms::operator- (const L &l, const R &r) |
| Create the difference of two operators. | |
| template<class Op , class L , class R > requires ((isOperatorOrSumOperator_v<L> or isOperatorOrSumOperator_v<R>) and requires (const Op op, const L l, const R r) { Impl::productImpl(op, l, r); }) | |
| auto | Dune::Fufem::Forms::product (const Op &op, const L &l, const R &r) |
| Generic exterior product of two multilinear operators. | |
| template<class L , class R , class Dummy = void> requires ((isOperatorOrSumOperator_v<L> or isOperatorOrSumOperator_v<R>) and requires (LocalOperators::MultOp mult, const L l, const R r) { Impl::productImpl(mult, l, r); }) | |
| auto | Dune::Fufem::Forms::operator* (const L &l, const R &r) |
| Exterior product of two multilinear operators based on pointwise multiplication. | |
| template<class L , class R > requires ((isOperatorOrSumOperator_v<L> or isOperatorOrSumOperator_v<R>) and requires (const L l, const R r) { Impl::dotImpl(l, r); }) | |
| auto | Dune::Fufem::Forms::dot (const L &l, const R &r) |
| Exterior product of two multilinear operators based on pointwise dot-product. | |
| template<class OuterOp , class InnerOp > requires (isOperatorOrSumOperator_v<InnerOp> and requires (const OuterOp outerOp, typename InnerOp::Range inner_range) { outerOp(inner_range); }) | |
| auto | Dune::Fufem::Forms::compose (const OuterOp &outerOp, const InnerOp &innerOp) |
| Generic composition of a multilinear operators with a pointwise outer operator. | |
| template<class Op > | |
| auto | Dune::Fufem::Forms::transpose (const Op &op) |
| Transform an operator by pointwise matrix transposition. | |
| template<class Op > | |
| auto | Dune::Fufem::Forms::symmetrize (const Op &op) |
| Transform an operator by pointwise matrix symmetrization. | |
| template<class Op > | |
| auto | Dune::Fufem::Forms::trace (const Op &op) |
| Transform an operator by pointwise computation of the matrix trace. | |
| template<class Op > | |
| auto | Dune::Fufem::Forms::inv (const Op &op) |
| Transform an operator by pointwise computation of the matrix inverse. | |
| template<class L , class R > requires ((isOperatorOrSumOperator_v<L> or isOperatorOrSumOperator_v<R>) and requires (LocalOperators::MultOp mult, const L l, const R r) { product(mult, l, inv(r)); }) | |
| auto | Dune::Fufem::Forms::operator/ (const L &l, const R &r) |
| Exterior product of a multilinear operator with the pointwise inverse of 0-linear operator. | |
| template<class Basis > | |
| auto | Dune::Fufem::Forms::testFunction (const Basis &basis) |
| Create unary identity operator on test function space. | |
| template<class Basis > | |
| auto | Dune::Fufem::Forms::testFunction (const Basis &basis, NonAffineFamily tag) |
| Create unary identity operator on test function space. | |
| template<class Basis , class... Args> requires (sizeof...(Args)>0) | |
| auto | Dune::Fufem::Forms::testFunction (const Basis &basis, Args &&... args) |
| Create unary identity operator on test function space. | |
| template<class Basis > | |
| auto | Dune::Fufem::Forms::trialFunction (const Basis &basis) |
| Create unary identity operator on trial function space. | |
| template<class Basis > | |
| auto | Dune::Fufem::Forms::trialFunction (const Basis &basis, NonAffineFamily tag) |
| Create unary identity operator on trial function space. | |
| template<class Basis , class... Args> requires (sizeof...(Args)>0) | |
| auto | Dune::Fufem::Forms::trialFunction (const Basis &basis, Args &&... args) |
| Create unary identity operator on trial function space. | |
| template<class Op > requires (isOperatorOrSumOperator_v<Op> and (Op::arity<=1)) | |
| auto | Dune::Fufem::Forms::outside (const Op &op) |
| Construct outside version of a given operator. | |
| template<class Op > requires (isOperatorOrSumOperator_v<Op> and (Op::arity<=1)) | |
| auto | Dune::Fufem::Forms::avg (const Op &op) |
| Construct intersection average of a given operator. | |
| template<class Op > requires (isOperatorOrSumOperator_v<Op> and (Op::arity<=1)) | |
| auto | Dune::Fufem::Forms::jump (const Op &op) |
| Construct intersection jump of a given operator. | |
| template<class GridView > | |
| auto | Dune::Fufem::Forms::meshSize (const GridView &gridView) |
| Construct mesh size operator. | |
| template<class GridView > | |
| auto | Dune::Fufem::Forms::meshSize () |
| Construct mesh size operator. | |
| template<class GridView > | |
| auto | Dune::Fufem::Forms::faceNormal (const GridView &gridView) |
| Construct operator representing the face normals. | |
| template<class GridView > | |
| auto | Dune::Fufem::Forms::faceNormal () |
| Construct operator representing the face normals. | |
| template<class Op , class V > requires isOperatorOrSumOperator_v<Op> | |
| auto | Dune::Fufem::Forms::bindToCoefficients (const Op &op, V &&vector) |
| Bind a linear operator to a coefficient vector. | |
| template<class Op , class V > requires (isOperatorOrSumOperator_v<Op> and not isOperatorOrSumOperator_v<std::decay_t<V>>) | |
| auto | Dune::Fufem::Forms::operator| (const Op &op, V &&v) |
| Bind a linear operator to a coefficient vector. | |
| template<class B , class TP , std::size_t argIndex> | |
| auto | Dune::Fufem::Forms::jacobian (const FEFunctionOperator< B, TP, argIndex > &op) |
| Obtain the jacobian of an operator. | |
| template<class B , class TP , std::size_t argIndex> | |
| auto | Dune::Fufem::Forms::divergence (const FEFunctionOperator< B, TP, argIndex > &op) |
| Obtain the divergence of an operator. | |
| template<class B , class TP , std::size_t argIndex> | |
| auto | Dune::Fufem::Forms::curl (const FEFunctionOperator< B, TP, argIndex > &op) |
| Obtain the curl of an operator. | |
| template<class... Ops> requires requires(const Ops&... ops) { SumOperator(jacobian(ops)...); } | |
| auto | Dune::Fufem::Forms::jacobian (const SumOperator< Ops... > &op) |
| Obtain the jacobian of a sum of operators. | |
| template<class... Ops> requires requires(const Ops&... ops) { SumOperator(jacobian(ops)...); } | |
| auto | Dune::Fufem::Forms::divergence (const SumOperator< Ops... > &op) |
| Obtain the divergence of a sum of operators. | |
| template<class... Ops> requires requires(const Ops&... ops) { SumOperator(curl(ops)...); } | |
| auto | Dune::Fufem::Forms::curl (const SumOperator< Ops... > &op) |
| Obtain the curl of a sum of operators. | |
| template<class Op > requires requires {Fufem::Forms::transpose(jacobian(op));} | |
| auto | Dune::Fufem::Forms::gradient (const Op &op) |
| Obtain the gradient of an operator. | |
| template<class Op > requires requires {Fufem::Forms::transpose(jacobian(op));} | |
| auto | Dune::Fufem::Forms::grad (const Op &op) |
| Obtain the gradient of an operator. | |
| template<class Op > requires requires {divergence(op);} | |
| auto | Dune::Fufem::Forms::div (const Op &op) |
| Obtain the divergence of an operator. | |
| template<class Op > requires requires {curl(op);} | |
| auto | Dune::Fufem::Forms::rot (const Op &op) |
| Obtain the curl of an operator. | |
| template<class Op > requires requires {grad(op);} | |
| auto | Dune::Fufem::Forms::D (const Op &op, std::size_t k) |
| Obtain the i-th partial derivative of an operator. | |
