rheolef  6.5
field_evaluate.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_FIELD_EVALUATE_H
2 #define _RHEOLEF_FIELD_EVALUATE_H
3 #include "rheolef/field.h"
4 #include "rheolef/basis_on_pointset.h"
5 namespace rheolef {
6 
7 template<class T, class M>
8 T
10  const field_basic<T,M>& uh,
11  const basis_on_pointset<T>& bops,
12  reference_element hat_K,
13  const std::vector<size_t>& dis_idof,
14  size_t q);
15 
16 template<class T, class M>
17 point_basic<T>
19  const field_basic<T,M>& uh,
20  const basis_on_pointset<T>& bops,
21  reference_element hat_K,
22  const std::vector<size_t>& dis_idof_tab,
23  size_t q);
24 template<class T, class M>
25 tensor_basic<T>
27  const field_basic<T,M>& uh,
28  const basis_on_pointset<T>& bops,
29  reference_element hat_K,
30  const std::vector<size_t>& dis_idof_tab,
31  size_t q);
32 template<class T, class M>
33 inline
34 void
36  const field_basic<T,M>& uh,
37  const basis_on_pointset<T>& bops,
38  reference_element hat_K,
39  const std::vector<size_t>& dis_idof,
40  size_t q,
41  T& value)
42 {
43  value = field_evaluate (uh, bops, hat_K, dis_idof, q);
44 }
45 template<class T, class M>
46 inline
47 void
49  const field_basic<T,M>& uh,
50  const basis_on_pointset<T>& bops,
51  reference_element hat_K,
52  const std::vector<size_t>& dis_idof,
53  size_t q,
54  point_basic<T>& value)
55 {
56  value = vector_field_evaluate (uh, bops, hat_K, dis_idof, q);
57 }
58 template<class T, class M>
59 inline
60 void
62  const field_basic<T,M>& uh,
63  const basis_on_pointset<T>& bops,
64  reference_element hat_K,
65  const std::vector<size_t>& dis_idof,
66  size_t q,
67  tensor_basic<T>& value)
68 {
69  value = tensor_field_evaluate (uh, bops, hat_K, dis_idof, q);
70 }
71 template<class T, class M>
72 inline
73 void
75  const field_basic<T,M>& uh,
76  const basis_on_pointset<T>& bops,
77  reference_element hat_K,
78  const std::vector<size_t>& dis_idof,
79  size_t q,
80  tensor3_basic<T>& value)
81 {
82  fatal_macro ("tensor3: not yet");
83 #ifdef TODO
84  value = tensor3_field_evaluate (uh, bops, hat_K, dis_idof, q);
85 #endif // TODO
86 }
87 template<class T, class M>
88 inline
89 void
91  const field_basic<T,M>& uh,
92  const basis_on_pointset<T>& bops,
93  reference_element hat_K,
94  const std::vector<size_t>& dis_idof,
95  size_t q,
96  tensor4_basic<T>& value)
97 {
98  fatal_macro ("tensor4: not yet");
99 #ifdef TODO
100  value = tensor4_field_evaluate (uh, bops, hat_K, dis_idof, q);
101 #endif // TODO
102 }
103 template<class T, class M>
104 T
106  const field_basic<T,M>& uh,
107  const basis_on_pointset<T>& bops,
108  reference_element hat_K,
109  const std::vector<size_t>& dis_idof_tab,
110  size_t q,
111  size_t i_comp);
112 
113 }// namespace rheolef
114 #endif // _RHEOLEF_FIELD_EVALUATE_H
115