ViennaGrid for Python
 All Classes Files Functions Variables
types.hpp
Go to the documentation of this file.
1 
6 #ifndef ACCESSORS_TYPES_HPP
7 #define ACCESSORS_TYPES_HPP
8 
9 #include "../vertices/types.hpp"
10 #include "../cells/types.hpp"
11 
12 #include <viennagrid/domain/accessor.hpp>
13 
14 #include <vector>
15 
16 typedef std::vector<double> AccessorContainer_t;
17 
18 /***************
19  * LINEAR MESH *
20  ***************/
21 
22 // Line, cartesian 1D
23 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCartesian1D_Vertex_t>::type LinearCartesian1D_Vertex_Accessor_t;
24 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCartesian1D_Cell_t>::type LinearCartesian1D_Cell_Accessor_t;
25 
26 // Line, cartesian 2D
27 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCartesian2D_Vertex_t>::type LinearCartesian2D_Vertex_Accessor_t;
28 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCartesian2D_Cell_t>::type LinearCartesian2D_Cell_Accessor_t;
29 
30 // Line, cartesian 3D
31 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCartesian3D_Vertex_t>::type LinearCartesian3D_Vertex_Accessor_t;
32 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCartesian3D_Cell_t>::type LinearCartesian3D_Cell_Accessor_t;
33 
34 // Line, cylindrical (3D)
35 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCylindrical3D_Vertex_t>::type LinearCylindrical3D_Vertex_Accessor_t;
36 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearCylindrical3D_Cell_t>::type LinearCylindrical3D_Cell_Accessor_t;
37 
38 // Line, polar (2D)
39 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearPolar2D_Vertex_t>::type LinearPolar2D_Vertex_Accessor_t;
40 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearPolar2D_Cell_t>::type LinearPolar2D_Cell_Accessor_t;
41 
42 // Line, spherical (3D)
43 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearSpherical3D_Vertex_t>::type LinearSpherical3D_Vertex_Accessor_t;
44 typedef viennagrid::result_of::accessor<AccessorContainer_t, LinearSpherical3D_Cell_t>::type LinearSpherical3D_Cell_Accessor_t;
45 
46 /*******************
47  * TRIANGULAR MESH *
48  *******************/
49 
50 // Triangle, cartesian 2D
51 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularCartesian2D_Vertex_t>::type TriangularCartesian2D_Vertex_Accessor_t;
52 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularCartesian2D_Cell_t>::type TriangularCartesian2D_Cell_Accessor_t;
53 
54 // Triangle, cartesian 3D
55 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularCartesian3D_Vertex_t>::type TriangularCartesian3D_Vertex_Accessor_t;
56 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularCartesian3D_Cell_t>::type TriangularCartesian3D_Cell_Accessor_t;
57 
58 // Triangle, cylindrical (3D)
59 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularCylindrical3D_Vertex_t>::type TriangularCylindrical3D_Vertex_Accessor_t;
60 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularCylindrical3D_Cell_t>::type TriangularCylindrical3D_Cell_Accessor_t;
61 
62 // Triangle, polar (2D)
63 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularPolar2D_Vertex_t>::type TriangularPolar2D_Vertex_Accessor_t;
64 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularPolar2D_Cell_t>::type TriangularPolar2D_Cell_Accessor_t;
65 
66 // Triangle, spherical (3D)
67 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularSpherical3D_Vertex_t>::type TriangularSpherical3D_Vertex_Accessor_t;
68 typedef viennagrid::result_of::accessor<AccessorContainer_t, TriangularSpherical3D_Cell_t>::type TriangularSpherical3D_Cell_Accessor_t;
69 
70 /**********************
71  * QUADRILATERAL MESH *
72  **********************/
73 
74 // Quadrilateral, cartesian 2D
75 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralCartesian2D_Vertex_t>::type QuadrilateralCartesian2D_Vertex_Accessor_t;
76 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralCartesian2D_Cell_t>::type QuadrilateralCartesian2D_Cell_Accessor_t;
77 
78 // Quadrilateral, cartesian 3D
79 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralCartesian3D_Vertex_t>::type QuadrilateralCartesian3D_Vertex_Accessor_t;
80 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralCartesian3D_Cell_t>::type QuadrilateralCartesian3D_Cell_Accessor_t;
81 
82 // Quadrilateral, cylindrical (3D)
83 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralCylindrical3D_Vertex_t>::type QuadrilateralCylindrical3D_Vertex_Accessor_t;
84 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralCylindrical3D_Cell_t>::type QuadrilateralCylindrical3D_Cell_Accessor_t;
85 
86 // Quadrilateral, polar (2D)
87 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralPolar2D_Vertex_t>::type QuadrilateralPolar2D_Vertex_Accessor_t;
88 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralPolar2D_Cell_t>::type QuadrilateralPolar2D_Cell_Accessor_t;
89 
90 // Quadrilateral, spherical (3D)
91 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralSpherical3D_Vertex_t>::type QuadrilateralSpherical3D_Vertex_Accessor_t;
92 typedef viennagrid::result_of::accessor<AccessorContainer_t, QuadrilateralSpherical3D_Cell_t>::type QuadrilateralSpherical3D_Cell_Accessor_t;
93 
94 /**********************
95  * TETRAHEDRAL MESH *
96  **********************/
97 
98 // Tetrahedral, cartesian 3D
99 typedef viennagrid::result_of::accessor<AccessorContainer_t, TetrahedralCartesian3D_Vertex_t>::type TetrahedralCartesian3D_Vertex_Accessor_t;
100 typedef viennagrid::result_of::accessor<AccessorContainer_t, TetrahedralCartesian3D_Cell_t>::type TetrahedralCartesian3D_Cell_Accessor_t;
101 
102 // Tetrahedral, cylindrical (3D)
103 typedef viennagrid::result_of::accessor<AccessorContainer_t, TetrahedralCylindrical3D_Vertex_t>::type TetrahedralCylindrical3D_Vertex_Accessor_t;
104 typedef viennagrid::result_of::accessor<AccessorContainer_t, TetrahedralCylindrical3D_Cell_t>::type TetrahedralCylindrical3D_Cell_Accessor_t;
105 
106 // Tetrahedral, spherical (3D)
107 typedef viennagrid::result_of::accessor<AccessorContainer_t, TetrahedralSpherical3D_Vertex_t>::type TetrahedralSpherical3D_Vertex_Accessor_t;
108 typedef viennagrid::result_of::accessor<AccessorContainer_t, TetrahedralSpherical3D_Cell_t>::type TetrahedralSpherical3D_Cell_Accessor_t;
109 
110 #endif /* end of include guard: ACCESSORS_TYPES_HPP */