ViennaGrid for Python
 All Classes Files Functions Variables
is_boundary.hpp
Go to the documentation of this file.
1 
7 #ifndef ALGORITHMS_IS_BOUNDARY_HPP
8 #define ALGORITHMS_IS_BOUNDARY_HPP
9 
10 #include "../domains/linear.hpp"
11 #include "../domains/triangular.hpp"
12 #include "../domains/quadrilateral.hpp"
13 #include "../domains/tetrahedral.hpp"
14 
15 #include "../segments/linear.hpp"
16 #include "../segments/triangular.hpp"
17 #include "../segments/quadrilateral.hpp"
18 #include "../segments/tetrahedral.hpp"
19 
20 #include "../facets/linear.hpp"
21 #include "../facets/triangular.hpp"
22 #include "../facets/quadrilateral.hpp"
23 #include "../facets/tetrahedral.hpp"
24 
25 #include "../edges/triangular.hpp"
26 #include "../edges/quadrilateral.hpp"
27 #include "../edges/tetrahedral.hpp"
28 
29 /*****************************************
30  * IS_BOUNDARY (with domains and facets) *
31  *****************************************/
32 
34 // Linear //
36 
48 bool LinearCartesian1D_Domain_Facet_is_boundary(LinearCartesian1D_Domain dom, LinearCartesian1D_Facet facet);
49 
61 bool LinearCartesian2D_Domain_Facet_is_boundary(LinearCartesian2D_Domain dom, LinearCartesian2D_Facet facet);
62 
74 bool LinearCartesian3D_Domain_Facet_is_boundary(LinearCartesian3D_Domain dom, LinearCartesian3D_Facet facet);
75 
87 bool LinearCylindrical3D_Domain_Facet_is_boundary(LinearCylindrical3D_Domain dom, LinearCylindrical3D_Facet facet);
88 
100 bool LinearPolar2D_Domain_Facet_is_boundary(LinearPolar2D_Domain dom, LinearPolar2D_Facet facet);
101 
113 bool LinearSpherical3D_Domain_Facet_is_boundary(LinearSpherical3D_Domain dom, LinearSpherical3D_Facet facet);
114 
116 // Triangular //
118 
130 bool TriangularCartesian2D_Domain_Facet_is_boundary(TriangularCartesian2D_Domain dom, TriangularCartesian2D_Facet facet);
131 
143 bool TriangularCartesian3D_Domain_Facet_is_boundary(TriangularCartesian3D_Domain dom, TriangularCartesian3D_Facet facet);
144 
156 bool TriangularCylindrical3D_Domain_Facet_is_boundary(TriangularCylindrical3D_Domain dom, TriangularCylindrical3D_Facet facet);
157 
169 bool TriangularPolar2D_Domain_Facet_is_boundary(TriangularPolar2D_Domain dom, TriangularPolar2D_Facet facet);
170 
182 bool TriangularSpherical3D_Domain_Facet_is_boundary(TriangularSpherical3D_Domain dom, TriangularSpherical3D_Facet facet);
183 
185 // Quadrilateral //
187 
199 bool QuadrilateralCartesian2D_Domain_Facet_is_boundary(QuadrilateralCartesian2D_Domain dom, QuadrilateralCartesian2D_Facet facet);
200 
212 bool QuadrilateralCartesian3D_Domain_Facet_is_boundary(QuadrilateralCartesian3D_Domain dom, QuadrilateralCartesian3D_Facet facet);
213 
225 bool QuadrilateralCylindrical3D_Domain_Facet_is_boundary(QuadrilateralCylindrical3D_Domain dom, QuadrilateralCylindrical3D_Facet facet);
226 
238 bool QuadrilateralPolar2D_Domain_Facet_is_boundary(QuadrilateralPolar2D_Domain dom, QuadrilateralPolar2D_Facet facet);
239 
251 bool QuadrilateralSpherical3D_Domain_Facet_is_boundary(QuadrilateralSpherical3D_Domain dom, QuadrilateralSpherical3D_Facet facet);
252 
254 // Tetrahedral //
256 
268 bool TetrahedralCartesian3D_Domain_Facet_is_boundary(TetrahedralCartesian3D_Domain dom, TetrahedralCartesian3D_Facet facet);
269 
281 bool TetrahedralCylindrical3D_Domain_Facet_is_boundary(TetrahedralCylindrical3D_Domain dom, TetrahedralCylindrical3D_Facet facet);
282 
294 bool TetrahedralSpherical3D_Domain_Facet_is_boundary(TetrahedralSpherical3D_Domain dom, TetrahedralSpherical3D_Facet facet);
295 
296 /****************************************
297  * IS_BOUNDARY (with domains and edges) *
298  ****************************************/
299 
301 // Triangular //
303 
315 bool TriangularCartesian2D_Domain_Edge_is_boundary(TriangularCartesian2D_Domain dom, TriangularCartesian2D_Edge edge);
316 
328 bool TriangularCartesian3D_Domain_Edge_is_boundary(TriangularCartesian3D_Domain dom, TriangularCartesian3D_Edge edge);
329 
341 bool TriangularCylindrical3D_Domain_Edge_is_boundary(TriangularCylindrical3D_Domain dom, TriangularCylindrical3D_Edge edge);
342 
354 bool TriangularPolar2D_Domain_Edge_is_boundary(TriangularPolar2D_Domain dom, TriangularPolar2D_Edge edge);
355 
367 bool TriangularSpherical3D_Domain_Edge_is_boundary(TriangularSpherical3D_Domain dom, TriangularSpherical3D_Edge edge);
368 
370 // Quadrilateral //
372 
384 bool QuadrilateralCartesian2D_Domain_Edge_is_boundary(QuadrilateralCartesian2D_Domain dom, QuadrilateralCartesian2D_Edge edge);
385 
397 bool QuadrilateralCartesian3D_Domain_Edge_is_boundary(QuadrilateralCartesian3D_Domain dom, QuadrilateralCartesian3D_Edge edge);
398 
410 bool QuadrilateralCylindrical3D_Domain_Edge_is_boundary(QuadrilateralCylindrical3D_Domain dom, QuadrilateralCylindrical3D_Edge edge);
411 
423 bool QuadrilateralPolar2D_Domain_Edge_is_boundary(QuadrilateralPolar2D_Domain dom, QuadrilateralPolar2D_Edge edge);
424 
436 bool QuadrilateralSpherical3D_Domain_Edge_is_boundary(QuadrilateralSpherical3D_Domain dom, QuadrilateralSpherical3D_Edge edge);
437 
439 // Tetrahedral //
441 
453 bool TetrahedralCartesian3D_Domain_Edge_is_boundary(TetrahedralCartesian3D_Domain dom, TetrahedralCartesian3D_Edge edge);
454 
466 bool TetrahedralCylindrical3D_Domain_Edge_is_boundary(TetrahedralCylindrical3D_Domain dom, TetrahedralCylindrical3D_Edge edge);
467 
479 bool TetrahedralSpherical3D_Domain_Edge_is_boundary(TetrahedralSpherical3D_Domain dom, TetrahedralSpherical3D_Edge edge);
480 
481 /*******************************************
482  * IS_BOUNDARY (with domains and vertices) *
483  *******************************************/
484 
486 // Linear //
488 
500 bool LinearCartesian1D_Domain_Vertex_is_boundary(LinearCartesian1D_Domain dom, LinearCartesian1D_Vertex vertex);
501 
513 bool LinearCartesian2D_Domain_Vertex_is_boundary(LinearCartesian2D_Domain dom, LinearCartesian2D_Vertex vertex);
514 
526 bool LinearCartesian3D_Domain_Vertex_is_boundary(LinearCartesian3D_Domain dom, LinearCartesian3D_Vertex vertex);
527 
539 bool LinearCylindrical3D_Domain_Vertex_is_boundary(LinearCylindrical3D_Domain dom, LinearCylindrical3D_Vertex vertex);
540 
552 bool LinearPolar2D_Domain_Vertex_is_boundary(LinearPolar2D_Domain dom, LinearPolar2D_Vertex vertex);
553 
565 bool LinearSpherical3D_Domain_Vertex_is_boundary(LinearSpherical3D_Domain dom, LinearSpherical3D_Vertex vertex);
566 
568 // Triangular //
570 
582 bool TriangularCartesian2D_Domain_Vertex_is_boundary(TriangularCartesian2D_Domain dom, TriangularCartesian2D_Vertex vertex);
583 
595 bool TriangularCartesian3D_Domain_Vertex_is_boundary(TriangularCartesian3D_Domain dom, TriangularCartesian3D_Vertex vertex);
596 
608 bool TriangularCylindrical3D_Domain_Vertex_is_boundary(TriangularCylindrical3D_Domain dom, TriangularCylindrical3D_Vertex vertex);
609 
621 bool TriangularPolar2D_Domain_Vertex_is_boundary(TriangularPolar2D_Domain dom, TriangularPolar2D_Vertex vertex);
622 
634 bool TriangularSpherical3D_Domain_Vertex_is_boundary(TriangularSpherical3D_Domain dom, TriangularSpherical3D_Vertex vertex);
635 
637 // Quadrilateral //
639 
651 bool QuadrilateralCartesian2D_Domain_Vertex_is_boundary(QuadrilateralCartesian2D_Domain dom, QuadrilateralCartesian2D_Vertex vertex);
652 
664 bool QuadrilateralCartesian3D_Domain_Vertex_is_boundary(QuadrilateralCartesian3D_Domain dom, QuadrilateralCartesian3D_Vertex vertex);
665 
677 bool QuadrilateralCylindrical3D_Domain_Vertex_is_boundary(QuadrilateralCylindrical3D_Domain dom, QuadrilateralCylindrical3D_Vertex vertex);
678 
690 bool QuadrilateralPolar2D_Domain_Vertex_is_boundary(QuadrilateralPolar2D_Domain dom, QuadrilateralPolar2D_Vertex vertex);
691 
703 bool QuadrilateralSpherical3D_Domain_Vertex_is_boundary(QuadrilateralSpherical3D_Domain dom, QuadrilateralSpherical3D_Vertex vertex);
704 
706 // Tetrahedral //
708 
720 bool TetrahedralCartesian3D_Domain_Vertex_is_boundary(TetrahedralCartesian3D_Domain dom, TetrahedralCartesian3D_Vertex vertex);
721 
733 bool TetrahedralCylindrical3D_Domain_Vertex_is_boundary(TetrahedralCylindrical3D_Domain dom, TetrahedralCylindrical3D_Vertex vertex);
734 
746 bool TetrahedralSpherical3D_Domain_Vertex_is_boundary(TetrahedralSpherical3D_Domain dom, TetrahedralSpherical3D_Vertex vertex);
747 
748 /******************************************
749  * IS_BOUNDARY (with segments and facets) *
750  ******************************************/
751 
753 // Linear //
755 
767 bool LinearCartesian1D_Segment_Facet_is_boundary(LinearCartesian1D_Segment seg, LinearCartesian1D_Facet facet);
768 
780 bool LinearCartesian2D_Segment_Facet_is_boundary(LinearCartesian2D_Segment seg, LinearCartesian2D_Facet facet);
781 
793 bool LinearCartesian3D_Segment_Facet_is_boundary(LinearCartesian3D_Segment seg, LinearCartesian3D_Facet facet);
794 
806 bool LinearCylindrical3D_Segment_Facet_is_boundary(LinearCylindrical3D_Segment seg, LinearCylindrical3D_Facet facet);
807 
819 bool LinearPolar2D_Segment_Facet_is_boundary(LinearPolar2D_Segment seg, LinearPolar2D_Facet facet);
820 
832 bool LinearSpherical3D_Segment_Facet_is_boundary(LinearSpherical3D_Segment seg, LinearSpherical3D_Facet facet);
833 
835 // Triangular //
837 
849 bool TriangularCartesian2D_Segment_Facet_is_boundary(TriangularCartesian2D_Segment seg, TriangularCartesian2D_Facet facet);
850 
862 bool TriangularCartesian3D_Segment_Facet_is_boundary(TriangularCartesian3D_Segment seg, TriangularCartesian3D_Facet facet);
863 
875 bool TriangularCylindrical3D_Segment_Facet_is_boundary(TriangularCylindrical3D_Segment seg, TriangularCylindrical3D_Facet facet);
876 
888 bool TriangularPolar2D_Segment_Facet_is_boundary(TriangularPolar2D_Segment seg, TriangularPolar2D_Facet facet);
889 
901 bool TriangularSpherical3D_Segment_Facet_is_boundary(TriangularSpherical3D_Segment seg, TriangularSpherical3D_Facet facet);
902 
904 // Quadrilateral //
906 
918 bool QuadrilateralCartesian2D_Segment_Facet_is_boundary(QuadrilateralCartesian2D_Segment seg, QuadrilateralCartesian2D_Facet facet);
919 
931 bool QuadrilateralCartesian3D_Segment_Facet_is_boundary(QuadrilateralCartesian3D_Segment seg, QuadrilateralCartesian3D_Facet facet);
932 
944 bool QuadrilateralCylindrical3D_Segment_Facet_is_boundary(QuadrilateralCylindrical3D_Segment seg, QuadrilateralCylindrical3D_Facet facet);
945 
957 bool QuadrilateralPolar2D_Segment_Facet_is_boundary(QuadrilateralPolar2D_Segment seg, QuadrilateralPolar2D_Facet facet);
958 
970 bool QuadrilateralSpherical3D_Segment_Facet_is_boundary(QuadrilateralSpherical3D_Segment seg, QuadrilateralSpherical3D_Facet facet);
971 
973 // Tetrahedral //
975 
987 bool TetrahedralCartesian3D_Segment_Facet_is_boundary(TetrahedralCartesian3D_Segment seg, TetrahedralCartesian3D_Facet facet);
988 
1000 bool TetrahedralCylindrical3D_Segment_Facet_is_boundary(TetrahedralCylindrical3D_Segment seg, TetrahedralCylindrical3D_Facet facet);
1001 
1013 bool TetrahedralSpherical3D_Segment_Facet_is_boundary(TetrahedralSpherical3D_Segment seg, TetrahedralSpherical3D_Facet facet);
1014 
1015 /*****************************************
1016  * IS_BOUNDARY (with segments and edges) *
1017  *****************************************/
1018 
1020 // Triangular //
1022 
1034 bool TriangularCartesian2D_Segment_Edge_is_boundary(TriangularCartesian2D_Segment seg, TriangularCartesian2D_Edge edge);
1035 
1047 bool TriangularCartesian3D_Segment_Edge_is_boundary(TriangularCartesian3D_Segment seg, TriangularCartesian3D_Edge edge);
1048 
1060 bool TriangularCylindrical3D_Segment_Edge_is_boundary(TriangularCylindrical3D_Segment seg, TriangularCylindrical3D_Edge edge);
1061 
1073 bool TriangularPolar2D_Segment_Edge_is_boundary(TriangularPolar2D_Segment seg, TriangularPolar2D_Edge edge);
1074 
1086 bool TriangularSpherical3D_Segment_Edge_is_boundary(TriangularSpherical3D_Segment seg, TriangularSpherical3D_Edge edge);
1087 
1089 // Quadrilateral //
1091 
1103 bool QuadrilateralCartesian2D_Segment_Edge_is_boundary(QuadrilateralCartesian2D_Segment seg, QuadrilateralCartesian2D_Edge edge);
1104 
1116 bool QuadrilateralCartesian3D_Segment_Edge_is_boundary(QuadrilateralCartesian3D_Segment seg, QuadrilateralCartesian3D_Edge edge);
1117 
1129 bool QuadrilateralCylindrical3D_Segment_Edge_is_boundary(QuadrilateralCylindrical3D_Segment seg, QuadrilateralCylindrical3D_Edge edge);
1130 
1142 bool QuadrilateralPolar2D_Segment_Edge_is_boundary(QuadrilateralPolar2D_Segment seg, QuadrilateralPolar2D_Edge edge);
1143 
1155 bool QuadrilateralSpherical3D_Segment_Edge_is_boundary(QuadrilateralSpherical3D_Segment seg, QuadrilateralSpherical3D_Edge edge);
1156 
1158 // Tetrahedral //
1160 
1172 bool TetrahedralCartesian3D_Segment_Edge_is_boundary(TetrahedralCartesian3D_Segment seg, TetrahedralCartesian3D_Edge edge);
1173 
1185 bool TetrahedralCylindrical3D_Segment_Edge_is_boundary(TetrahedralCylindrical3D_Segment seg, TetrahedralCylindrical3D_Edge edge);
1186 
1198 bool TetrahedralSpherical3D_Segment_Edge_is_boundary(TetrahedralSpherical3D_Segment seg, TetrahedralSpherical3D_Edge edge);
1199 
1200 /********************************************
1201  * IS_BOUNDARY (with segments and vertices) *
1202  ********************************************/
1203 
1205 // Linear //
1207 
1219 bool LinearCartesian1D_Segment_Vertex_is_boundary(LinearCartesian1D_Segment seg, LinearCartesian1D_Vertex vertex);
1220 
1232 bool LinearCartesian2D_Segment_Vertex_is_boundary(LinearCartesian2D_Segment seg, LinearCartesian2D_Vertex vertex);
1233 
1245 bool LinearCartesian3D_Segment_Vertex_is_boundary(LinearCartesian3D_Segment seg, LinearCartesian3D_Vertex vertex);
1246 
1258 bool LinearCylindrical3D_Segment_Vertex_is_boundary(LinearCylindrical3D_Segment seg, LinearCylindrical3D_Vertex vertex);
1259 
1271 bool LinearPolar2D_Segment_Vertex_is_boundary(LinearPolar2D_Segment seg, LinearPolar2D_Vertex vertex);
1272 
1284 bool LinearSpherical3D_Segment_Vertex_is_boundary(LinearSpherical3D_Segment seg, LinearSpherical3D_Vertex vertex);
1285 
1287 // Triangular //
1289 
1301 bool TriangularCartesian2D_Segment_Vertex_is_boundary(TriangularCartesian2D_Segment seg, TriangularCartesian2D_Vertex vertex);
1302 
1314 bool TriangularCartesian3D_Segment_Vertex_is_boundary(TriangularCartesian3D_Segment seg, TriangularCartesian3D_Vertex vertex);
1315 
1327 bool TriangularCylindrical3D_Segment_Vertex_is_boundary(TriangularCylindrical3D_Segment seg, TriangularCylindrical3D_Vertex vertex);
1328 
1340 bool TriangularPolar2D_Segment_Vertex_is_boundary(TriangularPolar2D_Segment seg, TriangularPolar2D_Vertex vertex);
1341 
1353 bool TriangularSpherical3D_Segment_Vertex_is_boundary(TriangularSpherical3D_Segment seg, TriangularSpherical3D_Vertex vertex);
1354 
1356 // Quadrilateral //
1358 
1370 bool QuadrilateralCartesian2D_Segment_Vertex_is_boundary(QuadrilateralCartesian2D_Segment seg, QuadrilateralCartesian2D_Vertex vertex);
1371 
1383 bool QuadrilateralCartesian3D_Segment_Vertex_is_boundary(QuadrilateralCartesian3D_Segment seg, QuadrilateralCartesian3D_Vertex vertex);
1384 
1396 bool QuadrilateralCylindrical3D_Segment_Vertex_is_boundary(QuadrilateralCylindrical3D_Segment seg, QuadrilateralCylindrical3D_Vertex vertex);
1397 
1409 bool QuadrilateralPolar2D_Segment_Vertex_is_boundary(QuadrilateralPolar2D_Segment seg, QuadrilateralPolar2D_Vertex vertex);
1410 
1422 bool QuadrilateralSpherical3D_Segment_Vertex_is_boundary(QuadrilateralSpherical3D_Segment seg, QuadrilateralSpherical3D_Vertex vertex);
1423 
1425 // Tetrahedral //
1427 
1439 bool TetrahedralCartesian3D_Segment_Vertex_is_boundary(TetrahedralCartesian3D_Segment seg, TetrahedralCartesian3D_Vertex vertex);
1440 
1452 bool TetrahedralCylindrical3D_Segment_Vertex_is_boundary(TetrahedralCylindrical3D_Segment seg, TetrahedralCylindrical3D_Vertex vertex);
1453 
1465 bool TetrahedralSpherical3D_Segment_Vertex_is_boundary(TetrahedralSpherical3D_Segment seg, TetrahedralSpherical3D_Vertex vertex);
1466 
1467 #endif /* end of include guard: ALGORITHMS_IS_BOUNDARY_HPP */