![]() |
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 , std::enable_if_t< isOperatorOrSumOperator_v< Op >, int > = 0> | |
| 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 , std::enable_if_t< isOperatorOrSumOperator_v< L > or isOperatorOrSumOperator_v< R >, int > = 0, class = std::void_t<decltype(Impl::productImpl(std::declval<Op>(), std::declval<L>(), std::declval<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 , std::enable_if_t< isOperatorOrSumOperator_v< L > or isOperatorOrSumOperator_v< R >, int > = 0, class = std::void_t<decltype(product(std::declval<LocalOperators::MultOp>(), std::declval<L>(), std::declval<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 , std::enable_if_t< isOperatorOrSumOperator_v< L > or isOperatorOrSumOperator_v< R >, int > = 0, class = std::void_t<decltype(product(std::declval<LocalOperators::DotOp>(), std::declval<L>(), std::declval<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 , std::enable_if_t< isOperatorOrSumOperator_v< InnerOp >, int > = 0, std::enable_if_t< Dune::IsCallable< OuterOp(typename InnerOp::Range)>::value, int > = 0> | |
| 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 , std::enable_if_t< isOperatorOrSumOperator_v< L > or isOperatorOrSumOperator_v< R >, int > = 0, class = std::void_t<decltype(product(std::declval<LocalOperators::MultOp>(), std::declval<L>(), inv(std::declval<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, std::enable_if_t<(sizeof...(Args)>0), int > = 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, std::enable_if_t<(sizeof...(Args)>0), int > = 0> | |
| auto | Dune::Fufem::Forms::trialFunction (const Basis &basis, Args &&... args) |
| Create unary identity operator on trial function space. | |
| template<class Op , std::enable_if_t< isOperatorOrSumOperator_v< Op > and(Op::arity<=1), int > = 0> | |
| auto | Dune::Fufem::Forms::outside (const Op &op) |
| Construct outside version of a given operator. | |
| template<class Op , std::enable_if_t< isOperatorOrSumOperator_v< Op > and(Op::arity<=1), int > = 0> | |
| auto | Dune::Fufem::Forms::avg (const Op &op) |
| Construct intersection average of a given operator. | |
| template<class Op , std::enable_if_t< isOperatorOrSumOperator_v< Op > and(Op::arity<=1), int > = 0> | |
| 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 , std::enable_if_t< isOperatorOrSumOperator_v< Op >, int > = 0> | |
| auto | Dune::Fufem::Forms::bindToCoefficients (const Op &op, V &&vector) |
| Bind a linear operator to a coefficient vector. | |
| template<class Op , class V , std::enable_if_t< isOperatorOrSumOperator_v< Op >, int > = 0, std::enable_if_t< not isOperatorOrSumOperator_v< std::decay_t< V > >, int > = 0> | |
| 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. | |
