6 #ifndef DOMAINS_TYPES_HPP
7 #define DOMAINS_TYPES_HPP
9 #include <viennagrid/forwards.hpp>
10 #include <viennagrid/domain/domain.hpp>
11 #include <viennagrid/domain/element_creation.hpp>
12 #include <viennagrid/point.hpp>
13 #include <viennagrid/topology/quadrilateral.hpp>
15 #include "../points/types.hpp"
23 typedef viennagrid::config::result_of::full_domain_config<viennagrid::line_tag,
25 viennagrid::storage::id_handle_tag>::type type;
27 typedef viennagrid::domain_t<LinearCartesian1D_DomainConfig> LinearCartesian1D_Domain_t;
31 typedef viennagrid::config::result_of::full_domain_config<viennagrid::line_tag,
33 viennagrid::storage::id_handle_tag>::type type;
35 typedef viennagrid::domain_t<LinearCartesian2D_DomainConfig> LinearCartesian2D_Domain_t;
39 typedef viennagrid::config::result_of::full_domain_config<viennagrid::line_tag,
41 viennagrid::storage::id_handle_tag>::type type;
43 typedef viennagrid::domain_t<LinearCartesian3D_DomainConfig> LinearCartesian3D_Domain_t;
48 typedef viennagrid::config::result_of::full_domain_config<viennagrid::line_tag,
50 viennagrid::storage::id_handle_tag>::type type;
52 typedef viennagrid::domain_t<LinearCylindrical3D_DomainConfig> LinearCylindrical3D_Domain_t;
57 typedef viennagrid::config::result_of::full_domain_config<viennagrid::line_tag,
59 viennagrid::storage::id_handle_tag>::type type;
61 typedef viennagrid::domain_t<LinearPolar2D_DomainConfig> LinearPolar2D_Domain_t;
66 typedef viennagrid::config::result_of::full_domain_config<viennagrid::line_tag,
68 viennagrid::storage::id_handle_tag>::type type;
70 typedef viennagrid::domain_t<LinearSpherical3D_DomainConfig> LinearSpherical3D_Domain_t;
78 typedef viennagrid::config::result_of::full_domain_config<viennagrid::triangle_tag,
80 viennagrid::storage::id_handle_tag>::type type;
82 typedef viennagrid::domain_t<TriangularCartesian2D_DomainConfig> TriangularCartesian2D_Domain_t;
86 typedef viennagrid::config::result_of::full_domain_config<viennagrid::triangle_tag,
88 viennagrid::storage::id_handle_tag>::type type;
90 typedef viennagrid::domain_t<TriangularCartesian3D_DomainConfig> TriangularCartesian3D_Domain_t;
94 typedef viennagrid::config::result_of::full_domain_config<viennagrid::triangle_tag,
96 viennagrid::storage::id_handle_tag>::type type;
98 typedef viennagrid::domain_t<TriangularCylindrical3D_DomainConfig> TriangularCylindrical3D_Domain_t;
102 typedef viennagrid::config::result_of::full_domain_config<viennagrid::triangle_tag,
104 viennagrid::storage::id_handle_tag>::type type;
106 typedef viennagrid::domain_t<TriangularPolar2D_DomainConfig> TriangularPolar2D_Domain_t;
110 typedef viennagrid::config::result_of::full_domain_config<viennagrid::triangle_tag,
112 viennagrid::storage::id_handle_tag>::type type;
114 typedef viennagrid::domain_t<TriangularSpherical3D_DomainConfig> TriangularSpherical3D_Domain_t;
122 typedef viennagrid::config::result_of::full_domain_config<viennagrid::quadrilateral_tag,
124 viennagrid::storage::id_handle_tag>::type type;
126 typedef viennagrid::domain_t<QuadrilateralCartesian2D_DomainConfig> QuadrilateralCartesian2D_Domain_t;
130 typedef viennagrid::config::result_of::full_domain_config<viennagrid::quadrilateral_tag,
132 viennagrid::storage::id_handle_tag>::type type;
134 typedef viennagrid::domain_t<QuadrilateralCartesian3D_DomainConfig> QuadrilateralCartesian3D_Domain_t;
138 typedef viennagrid::config::result_of::full_domain_config<viennagrid::quadrilateral_tag,
140 viennagrid::storage::id_handle_tag>::type type;
142 typedef viennagrid::domain_t<QuadrilateralCylindrical3D_DomainConfig> QuadrilateralCylindrical3D_Domain_t;
146 typedef viennagrid::config::result_of::full_domain_config<viennagrid::quadrilateral_tag,
148 viennagrid::storage::id_handle_tag>::type type;
150 typedef viennagrid::domain_t<QuadrilateralPolar2D_DomainConfig> QuadrilateralPolar2D_Domain_t;
154 typedef viennagrid::config::result_of::full_domain_config<viennagrid::quadrilateral_tag,
156 viennagrid::storage::id_handle_tag>::type type;
158 typedef viennagrid::domain_t<QuadrilateralSpherical3D_DomainConfig> QuadrilateralSpherical3D_Domain_t;
166 typedef viennagrid::config::result_of::full_domain_config<viennagrid::tetrahedron_tag,
168 viennagrid::storage::id_handle_tag>::type type;
170 typedef viennagrid::domain_t<TetrahedralCartesian3D_DomainConfig> TetrahedralCartesian3D_Domain_t;
174 typedef viennagrid::config::result_of::full_domain_config<viennagrid::tetrahedron_tag,
176 viennagrid::storage::id_handle_tag>::type type;
178 typedef viennagrid::domain_t<TetrahedralCylindrical3D_DomainConfig> TetrahedralCylindrical3D_Domain_t;
182 typedef viennagrid::config::result_of::full_domain_config<viennagrid::tetrahedron_tag,
184 viennagrid::storage::id_handle_tag>::type type;
186 typedef viennagrid::domain_t<TetrahedralSpherical3D_DomainConfig> TetrahedralSpherical3D_Domain_t;