FEAT 3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
linear_functional.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#endif // DOXYGEN
30
39 template<typename AsmTraits_>
41 {
42 public:
44 typedef typename AsmTraits_::TrafoEvaluator TrafoEvaluator;
46 typedef typename AsmTraits_::DataType DataType;
48 typedef typename AsmTraits_::TrafoData TrafoData;
50 typedef typename AsmTraits_::TestBasisData TestBasisData;
51#ifdef DOXYGEN
53 typedef ... ValueType;
54#endif // DOXYGEN
55
56 public:
63 void prepare(const TrafoEvaluator& DOXY(trafo_eval))
64 {
65 // do nothing
66 }
67
71 void finish()
72 {
73 // do nothing
74 }
75
84 void set_point(const TrafoData& DOXY(tau))
85 {
86 // do nothing
87 }
88
89#ifdef DOXYGEN
101 ValueType eval(const TestBasisData& psi) const;
102#endif // DOXYGEN
103 }; // class LinearFunctional::Evaluator<...>
104 }; // class LinearFunctional
105 } // namespace Assembly
106} // namespace FEAT
Linear Functional Evaluator class template.
AsmTraits_::TestBasisData TestBasisData
test function data type
ValueType eval(const TestBasisData &psi) const
Evaluation function.
AsmTraits_::TrafoEvaluator TrafoEvaluator
trafo evaluator type
AsmTraits_::TrafoData TrafoData
trafo data type
typedef ValueType
value type (either equal to DataType or Tiny::Vector/Matrix of DataType's)
void prepare(const TrafoEvaluator &trafo_eval)
Prepares the evaluator for a given cell.
void set_point(const TrafoData &tau)
Point initialization function.
void finish()
Releases the evaluator from the current cell.
Base class for Linear Functionals.
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