FirstOrderPartialTestTrial.hpp 1.05 KB
Newer Older
1
2
3
4
#pragma once

#include <type_traits>

5
#include <amdis/assembler/FirstOrderTestPartialTrial.hpp>
6
7
8

namespace AMDiS
{
9
10
11
12
13
  /**
   * \addtogroup operators
   * @{
   **/

14
15
16
17
  namespace tag
  {
    struct partialtest_trial
    {
18
      std::size_t comp;
19
20
21
22
    };
  }


23
  /// first-order operator \f$ \langle\partial_i\psi, c\,\phi\rangle \f$
24
25
26
27
  template <class LocalContext, class GridFct>
  class GridFunctionOperator<tag::partialtest_trial, LocalContext, GridFct>
      : public GridFunctionOperatorTransposed<GridFunctionOperator<tag::partialtest_trial, LocalContext, GridFct>,
                                              GridFunctionOperator<tag::test_partialtrial, LocalContext, GridFct>>
28
  {
29
    using Self = GridFunctionOperator;
30
    using Transposed = GridFunctionOperator<tag::test_partialtrial, LocalContext, GridFct>;
31
    using Super = GridFunctionOperatorTransposed<Self, Transposed>;
32
33

  public:
34
35
    GridFunctionOperator(tag::partialtest_trial tag, GridFct const& expr)
      : Super(tag::test_partialtrial{tag.comp}, expr)
36
37
38
    {}
  };

39
40
  /** @} **/

41
} // end namespace AMDiS