AMDiS  0.1
The Adaptive Multi-Dimensional Simulation Toolbox
FirstOrderGradTestTrial.hpp
1 #pragma once
2 
3 #include <type_traits>
4 
5 #include <amdis/localoperators/FirstOrderTestGradTrial.hpp>
6 
7 namespace AMDiS
8 {
14  namespace tag
15  {
16  struct gradtest_trial {};
17  struct grad_test {};
18  }
19 
20 
22  template <class LC, class GridFct>
23  class GridFunctionOperator<tag::gradtest_trial, LC, GridFct>
24  : public GridFunctionOperatorTransposed<GridFunctionOperator<tag::gradtest_trial, LC, GridFct>,
25  GridFunctionOperator<tag::test_gradtrial, LC, GridFct>>
26  {
27  using Self = GridFunctionOperator;
30 
31  public:
33  : Super(tag::test_gradtrial{}, expr)
34  {}
35  };
36 
37 
39  template <class Expr, class... QuadratureArgs>
40  auto fot(Expr&& expr, tag::grad_test, QuadratureArgs&&... args)
41  {
42  return makeOperator(tag::gradtest_trial{}, FWD(expr), FWD(args)...);
43  }
44 
47 } // end namespace AMDiS
Definition: FirstOrderTestGradTrial.hpp:18
auto makeOperator(Tag tag, Expr &&expr, QuadratureArgs &&... args)
Store tag and expression into a PreGridFunctionOperator to create a GridFunctionOperator.
Definition: GridFunctionOperator.hpp:220
The base-template for GridFunctionOperators.
Definition: GridFunctionOperator.hpp:242
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
Definition: FirstOrderGradTestTrial.hpp:16
The transposed operator, implemented in term of its transposed by calling getElementMatrix with inver...
Definition: GridFunctionOperator.hpp:150
auto fot(Expr &&expr, tag::grad_test, QuadratureArgs &&... args)
Create a first-order term with derivative on trial-function.
Definition: FirstOrderGradTestTrial.hpp:40
first-order operator
Definition: FirstOrderTestGradTrial.hpp:25
Definition: FirstOrderGradTestTrial.hpp:17