FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
bilinear_operator.hpp
1// FEAT3: Finite Element Analysis Toolbox, Version 3
2// Copyright (C) 2010 by Stefan Turek & the FEAT group
3// FEAT3 is released under the GNU General Public License version 3,
4// see the file 'copyright.txt' in the top level directory for details.
5
6#pragma once
7
8// includes, FEAT
9#include <kernel/assembly/base.hpp>
10
11namespace FEAT
12{
13 namespace Assembly
14 {
24 {
25 public:
26#ifdef DOXYGEN
27 static constexpr TrafoTags trafo_config = ...;
28 static constexpr SpaceTags test_config = ...;
29 static constexpr SpaceTags trial_config = ...;
30#endif // DOXYGEN
31
40 template<typename AsmTraits_>
42 {
43 public:
45 typedef typename AsmTraits_::TrafoEvaluator TrafoEvaluator;
47 typedef typename AsmTraits_::DataType DataType;
49 typedef typename AsmTraits_::TrafoData TrafoData;
51 typedef typename AsmTraits_::TestBasisData TestBasisData;
53 typedef typename AsmTraits_::TrialBasisData TrialBasisData;
54#ifdef DOXYGEN
56 typedef ... ValueType;
57#endif // DOXYGEN
58
59 public:
66 void prepare(const TrafoEvaluator& DOXY(trafo_eval))
67 {
68 // do nothing
69 }
70
74 void finish()
75 {
76 // do nothing
77 }
78
87 void set_point(const TrafoData& DOXY(tau))
88 {
89 // do nothing
90 }
91
92#ifdef DOXYGEN
108 ValueType eval(const TrialBasisData& phi, const TestBasisData& psi) const;
109#endif // DOXYGEN
110 }; // class BilinearOperator::Evaluator<...>
111 }; // class BilinearOperator
112 } // namespace Assembly
113} // namespace FEAT
Bilinear Operator Evaluator class template.
void prepare(const TrafoEvaluator &trafo_eval)
Prepares the evaluator for a given cell.
AsmTraits_::TestBasisData TestBasisData
test function data type
void set_point(const TrafoData &tau)
Point initialization function.
void finish()
Releases the evaluator from the current cell.
AsmTraits_::TrafoEvaluator TrafoEvaluator
trafo evaluator type
AsmTraits_::TrafoData TrafoData
trafo data type
AsmTraits_::TrialBasisData TrialBasisData
trial function data type
ValueType eval(const TrialBasisData &phi, const TestBasisData &psi) const
Evaluation function.
typedef ValueType
value type (either equal to DataType or Tiny::Vector/Matrix of DataType's)
Base class for Bilinear Operators.
FEAT namespace.
Definition: adjactor.hpp:12
SpaceTags
Space configuration tags enum.
Definition: eval_tags.hpp:97
TrafoTags
Trafo configuration tags enum.
Definition: eval_tags.hpp:22