![]() |
Dune-Fufem 2.11-git
|
Description
Differential operators.

Functions | |
| 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. | |
Function Documentation
◆ curl() [1/2]
| auto Dune::Fufem::Forms::curl | ( | const FEFunctionOperator< B, TP, argIndex > & | op | ) |
Obtain the curl of an operator.
- Parameters
-
op The operator to differentiate
This is implemented for 2d and 3d vector fields only.
◆ curl() [2/2]
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.
- Parameters
-
op The operator to differentiate
This is implemented for 2d and 3d vector fields only.
◆ D()
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.
- Parameters
-
op The operator to differentiate (must support grad(op)) k Index of the component to extract.
This extracts the k-th component of the gradient, i.e., the k-th partial derivative.
◆ div()
requires requires {divergence(op);}
| auto Dune::Fufem::Forms::div | ( | const Op & | op | ) |
Obtain the divergence of an operator.
- Parameters
-
op The operator to differentiate
◆ divergence() [1/2]
| auto Dune::Fufem::Forms::divergence | ( | const FEFunctionOperator< B, TP, argIndex > & | op | ) |
Obtain the divergence of an operator.
- Parameters
-
op The operator to differentiate
◆ divergence() [2/2]
| auto Dune::Fufem::Forms::divergence | ( | const SumOperator< Ops... > & | op | ) |
Obtain the divergence of a sum of operators.
- Parameters
-
op The operator to differentiate
◆ grad()
| auto Dune::Fufem::Forms::grad | ( | const Op & | op | ) |
Obtain the gradient of an operator.
- Parameters
-
op The operator to differentiate
This is a shortcut for transpose(jacobian(op)) and gradient(op).
Notice that for a scalar function space, jacobian(op) uses single row matrices (row-vectors) as range type, grad(op) uses single column matrices (column-vectors) as range type.
◆ gradient()
| auto Dune::Fufem::Forms::gradient | ( | const Op & | op | ) |
Obtain the gradient of an operator.
- Parameters
-
op The operator to differentiate
This is a shortcut for transpose(jacobian(op)).
Notice that for a scalar function space, jacobian(op) uses single row matrices (row-vectors) as range type, gradient(op) uses single column matrices (column-vectors) as range type.
◆ jacobian() [1/2]
| auto Dune::Fufem::Forms::jacobian | ( | const FEFunctionOperator< B, TP, argIndex > & | op | ) |
Obtain the jacobian of an operator.
- Parameters
-
op The operator to differentiate
◆ jacobian() [2/2]
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.
- Parameters
-
op The operator to differentiate
◆ rot()
requires requires {curl(op);}
| auto Dune::Fufem::Forms::rot | ( | const Op & | op | ) |
Obtain the curl of an operator.
- Parameters
-
op The operator to differentiate
This is implemented for 2d and 3d vector fields only.
