![]() |
Dune-Fufem 2.11-git
|
Loading...
Searching...
No Matches
Dune::Fufem::Forms Namespace Reference
Namespaces | |
| namespace | LocalOperators |
| Namespace containing algebraic operator implementations. | |
| namespace | QuadratureHints |
Classes | |
| class | Boundary |
| Class representing the grid view boundary as integration domain. More... | |
| class | BoundUnaryOperator |
| Wrapper binding a linear operator to a coefficient vector. More... | |
| class | Bulk |
| Class representing the grid view elements as integration domain. More... | |
| class | CacheManager |
| A class for managing caches of different types. More... | |
| class | Coefficient |
| Coefficient function. More... | |
| class | FaceNormalOperator |
| Operator representing the normal field on intersection. More... | |
| class | FEFunctionDivergenceOperator |
| Linear map representing the divergenc of the elements of an FE-space. More... | |
| class | FEFunctionJacobianOperator |
| Linear map representing the jacobians of the elements of an FE-space. More... | |
| class | FEFunctionOperator |
| Linear map representing the elements of an FE-space. More... | |
| class | FEOperatorBase |
| Base class of elementary differential operators on an FE-space. More... | |
| class | IntegratedBilinearForm |
| Local assembler corresponding to a bulk bilinear form. More... | |
| class | IntegratedBoundaryBilinearForm |
| Local assembler corresponding to a boundary bilinear form. More... | |
| class | IntegratedBoundaryLinearForm |
| Local assembler corresponding to a boundary linear form. More... | |
| class | IntegratedLinearForm |
| Local assembler corresponding to a bulk linear form. More... | |
| class | IntegratedSkeletonBilinearForm |
| Local assembler corresponding to a skeleton bilinear form. More... | |
| class | IntegratedSkeletonLinearForm |
| Local assembler corresponding to a skeleton linear form. More... | |
| struct | IsBoundaryDomain |
| Traits class to identify boundary integration domains. More... | |
| struct | IsBoundaryDomain< Boundary > |
| Tag class Boundary as boundary integration domain. More... | |
| struct | IsBoundaryDomain< Dune::Fufem::Boundary< GridView > > |
| Tag class template Dune::Fufem::Boundary as boundary integration domain. More... | |
| struct | IsBoundaryDomain< Dune::Fufem::BoundaryPatch< GridView > > |
| Tag class template Dune::Fufem::BoundaryPatch as boundary integration domain. More... | |
| struct | IsBoundaryDomain<::BoundaryPatch< GridView > > |
| Tag class template BoundaryPatch as boundary integration domain. More... | |
| struct | IsBulkDomain |
| Traits class to identify bulk integration domains. More... | |
| struct | IsBulkDomain< Bulk > |
| Tag class Bulk as bulk integration domain. More... | |
| struct | IsDomain |
| Traits class to identify integration domains. More... | |
| struct | IsLocalAssembler |
| struct | IsLocalAssembler< IntegratedBilinearForm< BilinearOperator, Domain, QuadratureHint > > |
| struct | IsLocalAssembler< IntegratedBoundaryBilinearForm< BilinearOperator, Domain, QuadratureHint > > |
| struct | IsLocalAssembler< IntegratedBoundaryLinearForm< LinearOperator, Domain, QuadratureHint > > |
| struct | IsLocalAssembler< IntegratedLinearForm< LinearOperator, Domain, QuadratureHint > > |
| struct | IsLocalAssembler< IntegratedSkeletonBilinearForm< BilinearOperator, Patch, QuadratureHint > > |
| struct | IsLocalAssembler< IntegratedSkeletonLinearForm< LinearOperator, Patch, QuadratureHint > > |
| struct | IsLocalAssembler< LocalSumAssembler< LocalAssemblers... > > |
| struct | IsSkeletonDomain |
| Traits class to identify skeleton integration domains. More... | |
| struct | IsSkeletonDomain< Skeleton > |
| Tag class Skeleton as skeleton integration domain. More... | |
| class | LocalFunctionAdaptor |
| Adaptor for turning a Fufem::Forms LocalOperator into a LocalFunction. More... | |
| class | LocalSumAssembler |
| Sum of local assemblers obtained using Dune::Fufem::Forms::integrate(...) More... | |
| class | MeshSizeOperator |
| Operator representing the mesh size of entities. More... | |
| class | MultilinearOperator |
| Base class for multilinear operator implementations. More... | |
| class | MultipleQuadratureCache |
| A cache providing multiple versions for different quadrature rules. More... | |
| class | NonAffineFamily |
| Tag type to classify non-affine finite element families. More... | |
| class | OutsideOperator |
| Operator for switching to the outside entity. More... | |
| class | ProductOperator |
| Generic product of two multilinear operators. More... | |
| class | RangeOperator |
| Adaptor for making a callback compatible with Dune::Fufem::Forms. More... | |
| class | ShapeFunctionCache |
| A hierarchic cache for storing shape function evaluations for a tree. More... | |
| class | ShapeFunctionCache< Node, CT > |
| class | SimpleCache |
| A simple cache implementation storing values. More... | |
| class | Skeleton |
| Class representing the grid view skeleton as integration domain. More... | |
| class | SumOperator |
| Sum of several multilinear operators. More... | |
| class | TransformedOperator |
| Pointwise transformation of a multilinear operator. More... | |
| class | UnaryOperator |
| Base class for unary multilinear operator implementations. More... | |
| class | UniqueCacheId |
| Objects of this class are used to uniquely identifies a cache. More... | |
Typedefs | |
| template<class Op > | |
| using | IsOperator = decltype(Impl::isOperatorHelper(std::declval< const std::decay_t< Op > * >())) |
| Traits class for checking if Op is derived from MultilinearOperator<k> | |
| template<class Op > | |
| using | IsSumOperator = Impl::IsSumOperatorHelper< std::decay_t< Op > > |
| Traits class for checking if Op is a SumOperator. | |
| template<class Op > | |
| using | IsOperatorOrSumOperator = std::disjunction< IsOperator< Op >, IsSumOperator< Op > > |
| Traits class for checking if Op is either a SumOperator or derived from MultilinearOperator<k> | |
| template<class CT , int dimension> | |
| using | MultipleQuadratureCacheManager = MultipleQuadratureCache< CacheManager< CT, dimension > > |
| Template alias for MultipleQuadratureCache<CacheManager<CT, dimension>> | |
Functions | |
| template<class MultilinearOperator , class Domain , class QuadratureHint > requires isOperatorOrSumOperator_v<MultilinearOperator> && IsDomain<Domain> | |
| ::value &&QuadratureHints::IsQuadratureHint< QuadratureHint >::value auto | integrate (MultilinearOperator op, const Domain &domain, QuadratureHint hint) |
| Integrate a k-linear operator to obtain a k-linear form. | |
| template<class MultilinearOperator , class Domain > requires (isOperatorOrSumOperator_v<MultilinearOperator> and IsDomain<Domain>::value) | |
| auto | integrate (MultilinearOperator op, const Domain &domain) |
| Integrate a k-linear operator to obtain a k-linear form. | |
| template<class MultilinearOperator , class QuadratureHint > requires isOperatorOrSumOperator_v<MultilinearOperator> && QuadratureHints::IsQuadratureHint<QuadratureHint> | |
| ::value auto | integrate (MultilinearOperator op, QuadratureHint hint) |
| Integrate a k-linear operator to obtain a k-linear form. | |
| template<class MultilinearOperator > requires isOperatorOrSumOperator_v<MultilinearOperator> | |
| auto | integrate (MultilinearOperator op) |
| Integrate a k-linear operator to obtain a k-linear form. | |
| template<class BilinearOperator , class Domain > | |
| IntegratedBilinearForm (const BilinearOperator &, const Domain &) -> IntegratedBilinearForm< BilinearOperator, Domain > | |
| template<class BilinearOperator , class Domain > | |
| IntegratedBoundaryBilinearForm (const BilinearOperator &, const Domain &) -> IntegratedBoundaryBilinearForm< BilinearOperator, Domain > | |
| template<class LinearOperator , class Domain > | |
| IntegratedBoundaryLinearForm (const LinearOperator &, const Domain &) -> IntegratedBoundaryLinearForm< LinearOperator, Domain > | |
| template<class LinearOperator , class Domain > | |
| IntegratedLinearForm (const LinearOperator &, const Domain &) -> IntegratedLinearForm< LinearOperator, Domain > | |
| template<class BilinearOperator , class Patch > | |
| IntegratedSkeletonBilinearForm (const BilinearOperator &, const Patch &) -> IntegratedSkeletonBilinearForm< BilinearOperator, Patch > | |
| template<class LinearOperator , class Patch > | |
| IntegratedSkeletonLinearForm (const LinearOperator &, const Patch &) -> IntegratedSkeletonLinearForm< LinearOperator, Patch > | |
| template<class L , class R > | |
| auto | operator+ (const L &l, const R &r) |
| Create the sum of two operators. | |
| template<class Op > requires isOperatorOrSumOperator_v<Op> | |
| auto | operator- (const Op &op) |
| Negate an operator. | |
| template<class L , class R > | |
| auto | 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 | 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 | 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 | 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 | compose (const OuterOp &outerOp, const InnerOp &innerOp) |
| Generic composition of a multilinear operators with a pointwise outer operator. | |
| template<class Op > | |
| auto | transpose (const Op &op) |
| Transform an operator by pointwise matrix transposition. | |
| template<class Op > | |
| auto | symmetrize (const Op &op) |
| Transform an operator by pointwise matrix symmetrization. | |
| template<class Op > | |
| auto | trace (const Op &op) |
| Transform an operator by pointwise computation of the matrix trace. | |
| template<class Op > | |
| auto | 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 | 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 | testFunction (const Basis &basis) |
| Create unary identity operator on test function space. | |
| template<class Basis > | |
| auto | testFunction (const Basis &basis, NonAffineFamily tag) |
| Create unary identity operator on test function space. | |
| template<class Basis , class... Args> requires (sizeof...(Args)>0) | |
| auto | testFunction (const Basis &basis, Args &&... args) |
| Create unary identity operator on test function space. | |
| template<class Basis > | |
| auto | trialFunction (const Basis &basis) |
| Create unary identity operator on trial function space. | |
| template<class Basis > | |
| auto | trialFunction (const Basis &basis, NonAffineFamily tag) |
| Create unary identity operator on trial function space. | |
| template<class Basis , class... Args> requires (sizeof...(Args)>0) | |
| auto | 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 | outside (const Op &op) |
| Construct outside version of a given operator. | |
| template<class Op > requires (isOperatorOrSumOperator_v<Op> and (Op::arity<=1)) | |
| auto | avg (const Op &op) |
| Construct intersection average of a given operator. | |
| template<class Op > requires (isOperatorOrSumOperator_v<Op> and (Op::arity<=1)) | |
| auto | jump (const Op &op) |
| Construct intersection jump of a given operator. | |
| template<class GridView > | |
| auto | meshSize (const GridView &gridView) |
| Construct mesh size operator. | |
| template<class GridView > | |
| auto | meshSize () |
| Construct mesh size operator. | |
| template<class GridView > | |
| auto | faceNormal (const GridView &gridView) |
| Construct operator representing the face normals. | |
| template<class GridView > | |
| auto | faceNormal () |
| Construct operator representing the face normals. | |
| template<class Op , class V > requires isOperatorOrSumOperator_v<Op> | |
| auto | 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 | operator| (const Op &op, V &&v) |
| Bind a linear operator to a coefficient vector. | |
| template<class B , class TP , std::size_t argIndex> | |
| auto | jacobian (const FEFunctionOperator< B, TP, argIndex > &op) |
| Obtain the jacobian of an operator. | |
| template<class B , class TP , std::size_t argIndex> | |
| auto | divergence (const FEFunctionOperator< B, TP, argIndex > &op) |
| Obtain the divergence of an operator. | |
| template<class B , class TP , std::size_t argIndex> | |
| auto | 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 | 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 | 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 | curl (const SumOperator< Ops... > &op) |
| Obtain the curl of a sum of operators. | |
| template<class Op > requires requires {Fufem::Forms::transpose(jacobian(op));} | |
| auto | gradient (const Op &op) |
| Obtain the gradient of an operator. | |
| template<class Op > requires requires {Fufem::Forms::transpose(jacobian(op));} | |
| auto | grad (const Op &op) |
| Obtain the gradient of an operator. | |
| template<class Op > requires requires {divergence(op);} | |
| auto | div (const Op &op) |
| Obtain the divergence of an operator. | |
| template<class Op > requires requires {curl(op);} | |
| auto | rot (const Op &op) |
| Obtain the curl of an operator. | |
| template<class Op > requires requires {grad(op);} | |
| auto | D (const Op &op, std::size_t k) |
| Obtain the i-th partial derivative of an operator. | |
Variables | |
| template<class Op > | |
| constexpr bool | isOperator_v = IsOperator<Op>::value |
| Short cut for IsOperator<Op>::value. | |
| template<class Op > | |
| constexpr bool | isSumOperator_v = IsSumOperator<Op>::value |
| Short cut for IsSumOperator<Op>::value. | |
| template<class Op > | |
| constexpr bool | isOperatorOrSumOperator_v = IsOperatorOrSumOperator<Op>::value |
| Short cut for IsOperatorOrSumOperator<Op>::value. | |
| constexpr Bulk | bulk = {} |
| Object representing the full grid view as integration domain. | |
| constexpr Boundary | boundary = {} |
| Object representing the full grid view boundary as integration domain. | |
| constexpr Skeleton | skeleton = {} |
| Object representing the full grid view skeleton as integration domain. | |
Function Documentation
◆ IntegratedBilinearForm()
template<class BilinearOperator , class Domain >
| Dune::Fufem::Forms::IntegratedBilinearForm | ( | const BilinearOperator & | , |
| const Domain & | |||
| ) | -> IntegratedBilinearForm< BilinearOperator, Domain > |
◆ IntegratedBoundaryBilinearForm()
template<class BilinearOperator , class Domain >
| Dune::Fufem::Forms::IntegratedBoundaryBilinearForm | ( | const BilinearOperator & | , |
| const Domain & | |||
| ) | -> IntegratedBoundaryBilinearForm< BilinearOperator, Domain > |
◆ IntegratedBoundaryLinearForm()
template<class LinearOperator , class Domain >
| Dune::Fufem::Forms::IntegratedBoundaryLinearForm | ( | const LinearOperator & | , |
| const Domain & | |||
| ) | -> IntegratedBoundaryLinearForm< LinearOperator, Domain > |
◆ IntegratedLinearForm()
template<class LinearOperator , class Domain >
| Dune::Fufem::Forms::IntegratedLinearForm | ( | const LinearOperator & | , |
| const Domain & | |||
| ) | -> IntegratedLinearForm< LinearOperator, Domain > |
◆ IntegratedSkeletonBilinearForm()
template<class BilinearOperator , class Patch >
| Dune::Fufem::Forms::IntegratedSkeletonBilinearForm | ( | const BilinearOperator & | , |
| const Patch & | |||
| ) | -> IntegratedSkeletonBilinearForm< BilinearOperator, Patch > |
◆ IntegratedSkeletonLinearForm()
template<class LinearOperator , class Patch >
| Dune::Fufem::Forms::IntegratedSkeletonLinearForm | ( | const LinearOperator & | , |
| const Patch & | |||
| ) | -> IntegratedSkeletonLinearForm< LinearOperator, Patch > |
