AMDiS  0.3
The Adaptive Multi-Dimensional Simulation Toolbox
FirstOrderPartialTestTrial.hpp
1 #pragma once
2 
3 #include <type_traits>
4 
5 #include <amdis/localoperators/FirstOrderTestPartialTrial.hpp>
6 
7 namespace AMDiS
8 {
14  namespace tag
15  {
17  {
18  std::size_t comp;
19  };
20 
21  struct partial_test
22  {
23  std::size_t comp;
24  };
25  }
26 
27 
29  template <class LC, class GridFct>
30  class GridFunctionOperator<tag::partialtest_trial, LC, GridFct>
31  : public GridFunctionOperatorTransposed<GridFunctionOperator<tag::partialtest_trial, LC, GridFct>,
32  GridFunctionOperator<tag::test_partialtrial, LC, GridFct>>
33  {
34  using Self = GridFunctionOperator;
37 
38  public:
40  : Super(tag::test_partialtrial{tag.comp}, expr)
41  {}
42  };
43 
44 
46  template <class Expr, class... QuadratureArgs>
47  auto fot(Expr&& expr, tag::partial_test t, QuadratureArgs&&... args)
48  {
49  return makeOperator(tag::partialtest_trial{t.comp}, FWD(expr), FWD(args)...);
50  }
51 
54 } // end namespace AMDiS
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
Definition: FirstOrderPartialTestTrial.hpp:16
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
first-order operator
Definition: FirstOrderTestPartialTrial.hpp:33
Definition: FirstOrderTestPartialTrial.hpp:19
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
Definition: FirstOrderPartialTestTrial.hpp:21