NiHu  2.0
quad_1_gauss_field.hpp
1 #ifndef QUAD_1_GAUSS_FIELD_HPP_INCLUDED
2 #define QUAD_1_GAUSS_FIELD_HPP_INCLUDED
3 
4 #include "quad_1_gauss_shape_set.hpp"
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  quad_1_elem, // over a linear quad elem
16  quad_1_gauss_shape_set, // using the new shape set
17  field_dimension::_1d // scalar field
18 > quad_1_gauss_field;
19 
20 namespace field_traits
21 {
22  template <>
23  struct id<quad_1_gauss_field> { enum {value = 666}; };
24 } // end of namespace field_traits
25 
26 // define a tag to the new type
28 
29 } // end of namespace NiHu
30 
31 #endif // QUAD_1_GAUSS_FIELD_HPP_INCLUDED
NiHu::type2tag
Metafunction assigning a tag to a type.
Definition: type2tag.hpp:17
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
NiHu::quad_1_elem
surface_element< quad_1_shape_set, space_3d<>::scalar_t > quad_1_elem
A linear (4-noded) quadrangular element in 3D space.
Definition: lib_element.hpp:47
lib_element.hpp