NiHu  2.0
line_1_gauss_field.hpp
1 #ifndef LINE_1_GAUSS_FIELD_HPP_INCLUDED
2 #define LINE_1_GAUSS_FIELD_HPP_INCLUDED
3 
5 #include "../core/field.hpp"
6 #include "../util/type2tag.hpp"
7 #include "lib_element.hpp"
8 
9 // define traits of the new field type
10 namespace NiHu
11 {
12 
13 // define the new field type
14 typedef field<
15  line_1_elem, // over a linear line elem
16  line_1_gauss_shape_set, // using the new shape set
17  field_dimension::_1d // scalar field
18 > line_1_gauss_field;
19 
20 namespace field_traits
21 {
22  template <>
23  struct id<line_1_gauss_field> { enum {value = 222}; };
24 } // end of namespace field_traits
25 
26 // define a tag to the new type
28 
29 } // end of namespace NiHu
30 
31 #endif // LINE_1_GAUSS_FIELD_HPP_INCLUDED
NiHu::type2tag
Metafunction assigning a tag to a type.
Definition: type2tag.hpp:17
NiHu::line_1_elem
surface_element< line_1_shape_set, space_2d<>::scalar_t > line_1_elem
A linear (2-noded) line element in 2D space.
Definition: lib_element.hpp:35
NiHu::field
field class that stores the dof vector and an element by value
Definition: field.hpp:367
NiHu::field_traits::id
assign a numeric ID to the field
Definition: field.hpp:72
lib_element.hpp
line_1_gauss_shape_set.hpp
implementation of shape set NiHu::line_1_gauss_shape_set