NiHu  2.0
tria_1_gauss_field.hpp
1 #ifndef TRIA_1_GAUSS_FIELD_HPP_INCLUDED
2 #define TRIA_1_GAUSS_FIELD_HPP_INCLUDED
3 
4 #include "tria_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  tria_2_elem, // over a quadratic tria elem
16  tria_1_gauss_shape_set, // using the new shape set
17  field_dimension::_1d // scalar field
18 > tria_1_gauss_field;
19 
20 namespace field_traits
21 {
22  template <>
23  struct id<tria_1_gauss_field> { enum {value = 333}; };
24 } // end of namespace field_traits
25 
26 // define a tag to the new type
28 
29 } // end of namespace NiHu
30 
31 #endif // TRIA_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
lib_element.hpp
NiHu::tria_2_elem
surface_element< tria_2_shape_set, space_3d<>::scalar_t > tria_2_elem
A quadratic (6-noded) triangular element in 3D space.
Definition: lib_element.hpp:44