AMDiS  2.10
The Adaptive Multi-Dimensional Simulation Toolbox
Operator module

Defines operators to be assembled in the matrix/vector. More...

Classes

class  GridFunctionLocalOperator< LF, Imp >
 The main implementation of a local-operator depending on a local-function. More...
 
class  GridFunctionOperator< GF, Imp >
 The main implementation of an operator depending on a grid-function. More...
 
struct  GridFunctionOperatorRegistry< Tag, LocalContext >
 Registry to specify a tag for each implementation type. More...
 
struct  OperatorTerm< Tag, Expr >
 
class  LocalOperator< Traits, Nodes >
 The base class for a local operator to be used in a Assembler. More...
 
class  Operator< Traits, Nodes >
 The base class for an operator to be used in an Assembler. More...
 
class  ConvectionDiffusionLocalOperator< LocalFctA, LocalFctB, LocalFctC, LocalFctF, conserving >
 
class  ConvectionDiffusionOperator< GridFctA, GridFctB, GridFctC, GridFctF, conserving >
 
struct  ConvectionDiffusionOperatorTerm< PreGridFctA, PreGridFctB, PreGridFctC, PreGridFctF, c >
 
class  FirstOrderDivTestVec
 first-order operator \( \langle\nabla\cdot\Psi, c\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::divtestvec, LC >
 
struct  GridFunctionOperatorRegistry< tag::divtestvec_trial, LC >
 first-order operator \( \langle\nabla\cdot\Psi, c\,\phi\rangle \) More...
 
class  FirstOrderGradTest
 first-order operator \( \langle\nabla\psi, b\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::gradtest, LC >
 
struct  GridFunctionOperatorRegistry< tag::gradtest_trial, LC >
 first-order operator \( \langle\nabla\cdot\Psi, c\,\phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::gradtest_trialvec, LC >
 first-order operator \( \langle\nabla\psi, c\,\Phi\rangle \) More...
 
class  FirstOrderPartialTest
 first-order operator \( \langle\partial_i\psi, c\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::partialtest, LC >
 
struct  GridFunctionOperatorRegistry< tag::partialtest_trial, LC >
 first-order operator \( \langle\partial_i\psi, c\,\phi\rangle \) More...
 
class  FirstOrderTestDivTrialvec
 first-order operator \( \langle\psi, c\,\nabla\cdot\Phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::test_divtrialvec, LC >
 
class  FirstOrderTestGradTrial
 first-order operator \( \langle\psi, \mathbf{b}\cdot\nabla\phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::test_gradtrial, LC >
 
class  FirstOrderTestPartialTrial
 first-order operator \( \langle\psi, c\,\partial_i\phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::test_partialtrial, LC >
 
class  FirstOrderTestvecGradTrial
 first-order operator \( \langle\Psi, c\,\nabla\phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::testvec_gradtrial, LC >
 
class  SecondOrderDivTestvecDivTrialvec
 second-order operator \( \langle\nabla\cdot\Psi, c\,\nabla\cdot\Phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::divtestvec_divtrialvec, LC >
 
class  SecondOrderGradTestGradTrial
 second-order operator \( \langle\nabla\psi, c\,\nabla\phi\rangle \), or More...
 
struct  GridFunctionOperatorRegistry< tag::gradtest_gradtrial, LC >
 
class  SecondOrderPartialTestPartialTrial
 second-order operator \( \langle\partial_i\psi, c\,\partial_j\phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::partialtest_partialtrial, LC >
 
class  StokesOperator
 Stokes operator \( \langle\nabla\mathbf{v}, \nu \nabla\mathbf{u}\rangle + \langle\nabla\cdot\mathbf{v}, p\rangle + \langle q, \langle\nabla\cdot\mathbf{u}\rangle \). More...
 
struct  GridFunctionOperatorRegistry< tag::stokes, LC >
 
class  ZeroOrderTest
 zero-order vector-operator \( (c\, \psi) \) More...
 
struct  GridFunctionOperatorRegistry< tag::test, LC >
 
class  ZeroOrderTestTrial
 zero-order operator \( \langle\psi, c\,\phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::test_trial, LC >
 
class  ZeroOrderTestTrialvec
 zero-order operator \( \langle\psi, \mathbf{b}\cdot\Phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::test_trialvec, LC >
 
class  ZeroOrderTestVec
 zero-order vector-operator \( (\mathbf{b}\cdot\Psi) \) More...
 
struct  GridFunctionOperatorRegistry< tag::testvec, LC >
 
struct  GridFunctionOperatorRegistry< tag::testvec_trial, LC >
 zero-order operator \( \langle\Psi, \mathbf{b}\,\phi\rangle \) More...
 
class  ZeroOrderTestvecTrialvec
 zero-order operator \( \langle\Psi, c\,\Phi\rangle \), or \( \langle\Psi, A\,\Phi\rangle \) More...
 
struct  GridFunctionOperatorRegistry< tag::testvec_trialvec, LC >
 

Typedefs

using GridView = typename Traits::GridView
 

Functions

template<class GridFct , class Impl >
 GridFunctionOperator (GridFct const &gridFct, Impl const &impl, int, int) -> GridFunctionOperator< GridFct, Impl >
 
template<class LocalFct , class Impl >
 GridFunctionLocalOperator (LocalFct const &localFct, Impl const &impl, int, int) -> GridFunctionLocalOperator< LocalFct, Impl >
 
template<class Tag , class Expr >
auto makeOperator (Tag const &tag, Expr &&expr, int gridFctDeg=-1)
 
template<class Tag , class Expr >
auto operatorTerm (Tag const &tag, Expr &&expr, int gridFctDeg=-1)
 
template<class Impl , Dune::disableCopyMove< Operator, Impl > = 0>
 Operator (Impl &&impl)
 Constructor. Pass any type supporting the OperatorInterface.
 
 Operator ()=default
 Default Constructor.
 
void update (GridView const &gv)
 Update the operator data on a GridView.
 
template<class LocalContext , class Op , class GV >
auto makeOperator (Op op, GV const &gridView)
 
template<class Context , class... T, class GridView >
auto makeOperator (ConvectionDiffusionOperatorTerm< T... > const &pre, GridView const &gridView)
 
template<bool conserving = true, class PreGridFctA , class PreGridFctB , class PreGridFctC , class PreGridFctF >
auto convectionDiffusion (PreGridFctA const &gridFctA, PreGridFctB const &gridFctB, PreGridFctC const &gridFctC, PreGridFctF const &gridFctF, int quadOrder=-1, bool_t< conserving >={})
 Generator function for constructing a Convection-Diffusion Operator.
 
template<class Expr >
auto fot (Expr &&expr, tag::grad_test, int quadOrder=-1)
 Create a first-order term with derivative on trial-function.
 
template<class Expr >
auto fot (Expr &&expr, tag::partial_test t, int quadOrder=-1)
 Create a first-order term with derivative on trial-function.
 
template<class Expr >
auto fot (Expr &&expr, tag::grad_trial, int quadOrder=-1)
 Create a first-order term with derivative on test-function.
 
template<class Expr >
auto fot (Expr &&expr, tag::partial_trial t, int quadOrder=-1)
 Create a first-order term with derivative on trial-function.
 
template<class Expr >
Create a second order term auto sot (Expr &&expr, int quadOrder=-1)
 
template<class Expr >
auto sot_ij (Expr &&expr, std::size_t comp_test, std::size_t comp_trial, int quadOrder=-1)
 Create a second-order term of partial derivatives.
 
template<class Expr >
auto zot (Expr &&expr, int quadOrder=-1)
 Create a zero-order term.
 

Friends

LocalOperator< Traits, Nodes... > localOperator (Operator const &op)
 Transform an operator into a local-operator.
 

Detailed Description

Defines operators to be assembled in the matrix/vector.

An Operator is a class providing methods necessary for assembling:

Function Documentation

◆ makeOperator()

auto AMDiS::makeOperator ( Tag const &  tag,
Expr &&  expr,
int  gridFctDeg = -1 
)

Store tag and expression into a OperatorTerm to create a GridFunctionOperator

Referenced by AMDiS::fot(), AMDiS::sot_ij(), and AMDiS::zot().