6 #ifndef FIELDS_TYPES_HPP
7 #define FIELDS_TYPES_HPP
9 #include "../vertices/types.hpp"
10 #include "../cells/types.hpp"
12 #include <viennagrid/domain/accessor.hpp>
22 typedef std::map<viennagrid::result_of::id<LinearCartesian1D_Vertex_t>::type,
double> LinearCartesian1D_VertexField_Container_t;
23 typedef std::map<viennagrid::result_of::id<LinearCartesian1D_Cell_t>::type,
double> LinearCartesian1D_CellField_Container_t;
25 typedef viennagrid::result_of::field<LinearCartesian1D_VertexField_Container_t, LinearCartesian1D_Vertex_t>::type LinearCartesian1D_Vertex_Field_t;
26 typedef viennagrid::result_of::field<LinearCartesian1D_CellField_Container_t, LinearCartesian1D_Cell_t>::type LinearCartesian1D_Cell_Field_t;
30 typedef std::map<viennagrid::result_of::id<LinearCartesian2D_Vertex_t>::type,
double> LinearCartesian2D_VertexField_Container_t;
31 typedef std::map<viennagrid::result_of::id<LinearCartesian2D_Cell_t>::type,
double> LinearCartesian2D_CellField_Container_t;
33 typedef viennagrid::result_of::field<LinearCartesian2D_VertexField_Container_t, LinearCartesian2D_Vertex_t>::type LinearCartesian2D_Vertex_Field_t;
34 typedef viennagrid::result_of::field<LinearCartesian2D_CellField_Container_t, LinearCartesian2D_Cell_t>::type LinearCartesian2D_Cell_Field_t;
38 typedef std::map<viennagrid::result_of::id<LinearCartesian3D_Vertex_t>::type,
double> LinearCartesian3D_VertexField_Container_t;
39 typedef std::map<viennagrid::result_of::id<LinearCartesian3D_Cell_t>::type,
double> LinearCartesian3D_CellField_Container_t;
41 typedef viennagrid::result_of::field<LinearCartesian3D_VertexField_Container_t, LinearCartesian3D_Vertex_t>::type LinearCartesian3D_Vertex_Field_t;
42 typedef viennagrid::result_of::field<LinearCartesian3D_CellField_Container_t, LinearCartesian3D_Cell_t>::type LinearCartesian3D_Cell_Field_t;
46 typedef std::map<viennagrid::result_of::id<LinearCylindrical3D_Vertex_t>::type,
double> LinearCylindrical3D_VertexField_Container_t;
47 typedef std::map<viennagrid::result_of::id<LinearCylindrical3D_Cell_t>::type,
double> LinearCylindrical3D_CellField_Container_t;
49 typedef viennagrid::result_of::field<LinearCylindrical3D_VertexField_Container_t, LinearCylindrical3D_Vertex_t>::type LinearCylindrical3D_Vertex_Field_t;
50 typedef viennagrid::result_of::field<LinearCylindrical3D_CellField_Container_t, LinearCylindrical3D_Cell_t>::type LinearCylindrical3D_Cell_Field_t;
54 typedef std::map<viennagrid::result_of::id<LinearPolar2D_Vertex_t>::type,
double> LinearPolar2D_VertexField_Container_t;
55 typedef std::map<viennagrid::result_of::id<LinearPolar2D_Cell_t>::type,
double> LinearPolar2D_CellField_Container_t;
57 typedef viennagrid::result_of::field<LinearPolar2D_VertexField_Container_t, LinearPolar2D_Vertex_t>::type LinearPolar2D_Vertex_Field_t;
58 typedef viennagrid::result_of::field<LinearPolar2D_CellField_Container_t, LinearPolar2D_Cell_t>::type LinearPolar2D_Cell_Field_t;
62 typedef std::map<viennagrid::result_of::id<LinearSpherical3D_Vertex_t>::type,
double> LinearSpherical3D_VertexField_Container_t;
63 typedef std::map<viennagrid::result_of::id<LinearSpherical3D_Cell_t>::type,
double> LinearSpherical3D_CellField_Container_t;
65 typedef viennagrid::result_of::field<LinearSpherical3D_VertexField_Container_t, LinearSpherical3D_Vertex_t>::type LinearSpherical3D_Vertex_Field_t;
66 typedef viennagrid::result_of::field<LinearSpherical3D_CellField_Container_t, LinearSpherical3D_Cell_t>::type LinearSpherical3D_Cell_Field_t;
74 typedef std::map<viennagrid::result_of::id<TriangularCartesian2D_Vertex_t>::type,
double> TriangularCartesian2D_VertexField_Container_t;
75 typedef std::map<viennagrid::result_of::id<TriangularCartesian2D_Cell_t>::type,
double> TriangularCartesian2D_CellField_Container_t;
77 typedef viennagrid::result_of::field<TriangularCartesian2D_VertexField_Container_t, TriangularCartesian2D_Vertex_t>::type TriangularCartesian2D_Vertex_Field_t;
78 typedef viennagrid::result_of::field<TriangularCartesian2D_CellField_Container_t, TriangularCartesian2D_Cell_t>::type TriangularCartesian2D_Cell_Field_t;
82 typedef std::map<viennagrid::result_of::id<TriangularCartesian3D_Vertex_t>::type,
double> TriangularCartesian3D_VertexField_Container_t;
83 typedef std::map<viennagrid::result_of::id<TriangularCartesian3D_Cell_t>::type,
double> TriangularCartesian3D_CellField_Container_t;
85 typedef viennagrid::result_of::field<TriangularCartesian3D_VertexField_Container_t, TriangularCartesian3D_Vertex_t>::type TriangularCartesian3D_Vertex_Field_t;
86 typedef viennagrid::result_of::field<TriangularCartesian3D_CellField_Container_t, TriangularCartesian3D_Cell_t>::type TriangularCartesian3D_Cell_Field_t;
90 typedef std::map<viennagrid::result_of::id<TriangularCylindrical3D_Vertex_t>::type,
double> TriangularCylindrical3D_VertexField_Container_t;
91 typedef std::map<viennagrid::result_of::id<TriangularCylindrical3D_Cell_t>::type,
double> TriangularCylindrical3D_CellField_Container_t;
93 typedef viennagrid::result_of::field<TriangularCylindrical3D_VertexField_Container_t, TriangularCylindrical3D_Vertex_t>::type TriangularCylindrical3D_Vertex_Field_t;
94 typedef viennagrid::result_of::field<TriangularCylindrical3D_CellField_Container_t, TriangularCylindrical3D_Cell_t>::type TriangularCylindrical3D_Cell_Field_t;
98 typedef std::map<viennagrid::result_of::id<TriangularPolar2D_Vertex_t>::type,
double> TriangularPolar2D_VertexField_Container_t;
99 typedef std::map<viennagrid::result_of::id<TriangularPolar2D_Cell_t>::type,
double> TriangularPolar2D_CellField_Container_t;
101 typedef viennagrid::result_of::field<TriangularPolar2D_VertexField_Container_t, TriangularPolar2D_Vertex_t>::type TriangularPolar2D_Vertex_Field_t;
102 typedef viennagrid::result_of::field<TriangularPolar2D_CellField_Container_t, TriangularPolar2D_Cell_t>::type TriangularPolar2D_Cell_Field_t;
106 typedef std::map<viennagrid::result_of::id<TriangularSpherical3D_Vertex_t>::type,
double> TriangularSpherical3D_VertexField_Container_t;
107 typedef std::map<viennagrid::result_of::id<TriangularSpherical3D_Cell_t>::type,
double> TriangularSpherical3D_CellField_Container_t;
109 typedef viennagrid::result_of::field<TriangularSpherical3D_VertexField_Container_t, TriangularSpherical3D_Vertex_t>::type TriangularSpherical3D_Vertex_Field_t;
110 typedef viennagrid::result_of::field<TriangularSpherical3D_CellField_Container_t, TriangularSpherical3D_Cell_t>::type TriangularSpherical3D_Cell_Field_t;
118 typedef std::map<viennagrid::result_of::id<QuadrilateralCartesian2D_Vertex_t>::type,
double> QuadrilateralCartesian2D_VertexField_Container_t;
119 typedef std::map<viennagrid::result_of::id<QuadrilateralCartesian2D_Cell_t>::type,
double> QuadrilateralCartesian2D_CellField_Container_t;
121 typedef viennagrid::result_of::field<QuadrilateralCartesian2D_VertexField_Container_t, QuadrilateralCartesian2D_Vertex_t>::type QuadrilateralCartesian2D_Vertex_Field_t;
122 typedef viennagrid::result_of::field<QuadrilateralCartesian2D_CellField_Container_t, QuadrilateralCartesian2D_Cell_t>::type QuadrilateralCartesian2D_Cell_Field_t;
126 typedef std::map<viennagrid::result_of::id<QuadrilateralCartesian3D_Vertex_t>::type,
double> QuadrilateralCartesian3D_VertexField_Container_t;
127 typedef std::map<viennagrid::result_of::id<QuadrilateralCartesian3D_Cell_t>::type,
double> QuadrilateralCartesian3D_CellField_Container_t;
129 typedef viennagrid::result_of::field<QuadrilateralCartesian3D_VertexField_Container_t, QuadrilateralCartesian3D_Vertex_t>::type QuadrilateralCartesian3D_Vertex_Field_t;
130 typedef viennagrid::result_of::field<QuadrilateralCartesian3D_CellField_Container_t, QuadrilateralCartesian3D_Cell_t>::type QuadrilateralCartesian3D_Cell_Field_t;
134 typedef std::map<viennagrid::result_of::id<QuadrilateralCylindrical3D_Vertex_t>::type,
double> QuadrilateralCylindrical3D_VertexField_Container_t;
135 typedef std::map<viennagrid::result_of::id<QuadrilateralCylindrical3D_Cell_t>::type,
double> QuadrilateralCylindrical3D_CellField_Container_t;
137 typedef viennagrid::result_of::field<QuadrilateralCylindrical3D_VertexField_Container_t, QuadrilateralCylindrical3D_Vertex_t>::type QuadrilateralCylindrical3D_Vertex_Field_t;
138 typedef viennagrid::result_of::field<QuadrilateralCylindrical3D_CellField_Container_t, QuadrilateralCylindrical3D_Cell_t>::type QuadrilateralCylindrical3D_Cell_Field_t;
142 typedef std::map<viennagrid::result_of::id<QuadrilateralPolar2D_Vertex_t>::type,
double> QuadrilateralPolar2D_VertexField_Container_t;
143 typedef std::map<viennagrid::result_of::id<QuadrilateralPolar2D_Cell_t>::type,
double> QuadrilateralPolar2D_CellField_Container_t;
145 typedef viennagrid::result_of::field<QuadrilateralPolar2D_VertexField_Container_t, QuadrilateralPolar2D_Vertex_t>::type QuadrilateralPolar2D_Vertex_Field_t;
146 typedef viennagrid::result_of::field<QuadrilateralPolar2D_CellField_Container_t, QuadrilateralPolar2D_Cell_t>::type QuadrilateralPolar2D_Cell_Field_t;
150 typedef std::map<viennagrid::result_of::id<QuadrilateralSpherical3D_Vertex_t>::type,
double> QuadrilateralSpherical3D_VertexField_Container_t;
151 typedef std::map<viennagrid::result_of::id<QuadrilateralSpherical3D_Cell_t>::type,
double> QuadrilateralSpherical3D_CellField_Container_t;
153 typedef viennagrid::result_of::field<QuadrilateralSpherical3D_VertexField_Container_t, QuadrilateralSpherical3D_Vertex_t>::type QuadrilateralSpherical3D_Vertex_Field_t;
154 typedef viennagrid::result_of::field<QuadrilateralSpherical3D_CellField_Container_t, QuadrilateralSpherical3D_Cell_t>::type QuadrilateralSpherical3D_Cell_Field_t;
162 typedef std::map<viennagrid::result_of::id<TetrahedralCartesian3D_Vertex_t>::type,
double> TetrahedralCartesian3D_VertexField_Container_t;
163 typedef std::map<viennagrid::result_of::id<TetrahedralCartesian3D_Cell_t>::type,
double> TetrahedralCartesian3D_CellField_Container_t;
165 typedef viennagrid::result_of::field<TetrahedralCartesian3D_VertexField_Container_t, TetrahedralCartesian3D_Vertex_t>::type TetrahedralCartesian3D_Vertex_Field_t;
166 typedef viennagrid::result_of::field<TetrahedralCartesian3D_CellField_Container_t, TetrahedralCartesian3D_Cell_t>::type TetrahedralCartesian3D_Cell_Field_t;
170 typedef std::map<viennagrid::result_of::id<TetrahedralCylindrical3D_Vertex_t>::type,
double> TetrahedralCylindrical3D_VertexField_Container_t;
171 typedef std::map<viennagrid::result_of::id<TetrahedralCylindrical3D_Cell_t>::type,
double> TetrahedralCylindrical3D_CellField_Container_t;
173 typedef viennagrid::result_of::field<TetrahedralCylindrical3D_VertexField_Container_t, TetrahedralCylindrical3D_Vertex_t>::type TetrahedralCylindrical3D_Vertex_Field_t;
174 typedef viennagrid::result_of::field<TetrahedralCylindrical3D_CellField_Container_t, TetrahedralCylindrical3D_Cell_t>::type TetrahedralCylindrical3D_Cell_Field_t;
178 typedef std::map<viennagrid::result_of::id<TetrahedralSpherical3D_Vertex_t>::type,
double> TetrahedralSpherical3D_VertexField_Container_t;
179 typedef std::map<viennagrid::result_of::id<TetrahedralSpherical3D_Cell_t>::type,
double> TetrahedralSpherical3D_CellField_Container_t;
181 typedef viennagrid::result_of::field<TetrahedralSpherical3D_VertexField_Container_t, TetrahedralSpherical3D_Vertex_t>::type TetrahedralSpherical3D_Vertex_Field_t;
182 typedef viennagrid::result_of::field<TetrahedralSpherical3D_CellField_Container_t, TetrahedralSpherical3D_Cell_t>::type TetrahedralSpherical3D_Cell_Field_t;