Dune-Fufem 2.11-git
Loading...
Searching...
No Matches
Dune::Fufem::Forms::MultilinearOperator< k > Class Template Reference

Base class for multilinear operator implementations. More...

#include <dune/fufem/forms/baseclass.hh>

Inheritance diagram for Dune::Fufem::Forms::MultilinearOperator< k >:
Inheritance graph

Static Public Attributes

static constexpr std::size_t arity = k
 

Detailed Description

template<std::size_t k>
class Dune::Fufem::Forms::MultilinearOperator< k >

Base class for multilinear operator implementations.

This is motivated by UFL. All classes deriving from this are multilinear maps from finite element spaces into the space of functions from the domain into some finite dimensional vector spaces. Poinwise products (scalar-vector, matrix-vector, dot,...) of multilinear maps induces multilinear maps of higher order. The product of a k-linear map and an l-linear is a (k+l) linear map into a suitable function space.

Integrating a k-linear operator \(F:V_1 \times ... \times V_k \to \{D\to\mathbb{R}\}\) over \(D\) results in a k-linear form \(\int_D F(...)dx : V_1 \times ... \times V_k \to D\)

Example: Denote by \(\{A\to B\}\) the set of all functions \(f:B\to A\). Now let D a domain in \(\mathbb{R}^d\), \(V \subset \{D\to \mathbb{R}\}\) and \(W \subset \{D\to \mathbb{R}\}\) two FE-spaces, and \(f \in \{D\to \mathbb{R}^{d \times d}\}\) a fixed matrix valued function. Then we have:

  • The function \(f\) is a 0-linear map into \(\{D\to\mathbb{R}^{d \times d}\}\).
  • The gradient operator \(\nabla:V \to \{D\to\mathbb{R}^d\}\) is a 1-linear map into \(\{D\to\mathbb{R}^d\}\).
  • The gradient operator \(\nabla:W \to \{D\to\mathbb{R}^d\}\) is a 1-linear map into \(\{D\to\mathbb{R}^d\}\).
  • The pointwise matrix-vector product \(f\nabla:V \to \{D\to\mathbb{R}^d\}\) is a 1-linear map into \(\{D\to\mathbb{R}^d\}\).
  • The pointwise dot product \(F:=dot(f\nabla(.), \nabla(.)):\{V\times W\} \to \{D\to\mathbb{R}\}\) is a 2-linear map into \(\{D\to\mathbb{R}\}\).
  • Integrating the 2-linear (bilinear) operator \(F:V \times W \to \{D\to\mathbb{R}\}\) over \(D\) results in a 2-linear (bilinear) form \(\int_D F(...)dx : V \times W \to \mathbb{R}\).

Member Data Documentation

◆ arity

template<std::size_t k>
constexpr std::size_t Dune::Fufem::Forms::MultilinearOperator< k >::arity = k
staticconstexpr

The documentation for this class was generated from the following file: