1 #ifndef OMEGA_H_HYPERCUBE_HPP
2 #define OMEGA_H_HYPERCUBE_HPP
27 Int elem_dim, Int bdry_dim, Int which_bdry, Int which_vert) {
107 switch (which_vert) {
115 switch (which_vert) {
123 switch (which_vert) {
131 switch (which_vert) {
139 switch (which_vert) {
147 switch (which_vert) {
155 switch (which_vert) {
163 switch (which_vert) {
171 switch (which_vert) {
181 switch (which_bdry) {
183 switch (which_vert) {
195 switch (which_vert) {
207 switch (which_vert) {
219 switch (which_vert) {
231 switch (which_vert) {
243 switch (which_vert) {
262 OMEGA_H_INLINE TemplateUp hypercube_up_template(
263 Int elem_dim, Int bdry_dim, Int which_bdry, Int which_up) {
268 switch (which_bdry) {
352 switch (which_bdry) {
455 switch (which_bdry) {
494 OMEGA_H_INLINE constexpr Int hypercube_degree(Int from_dim, Int to_dim) {
496 return (from_dim == 0 ?
497 (to_dim == 0 ? 1 : -1) :
500 (to_dim == 1 ? 1 : -1)) :
504 (to_dim == 2 ? 1 : -1))) :
509 (to_dim == 3 ? 1 : -1)))) : -1))));
513 constexpr
char const* hypercube_singular_name(Int dim) {
514 return (dim == 3 ?
"hex"
517 : (dim == 0 ?
"vertex" :
nullptr))));
520 constexpr
char const* hypercube_plural_name(Int dim) {
523 : (dim == 2 ?
"quads"
524 : (dim == 1 ?
"edges"
525 : (dim == 0 ?
"vertices" :
nullptr))));
530 OMEGA_H_INLINE constexpr Int hypercube_split_degree(
531 Int parent_dim, Int child_dim) {
532 return hypercube_degree(parent_dim, parent_dim - child_dim);
535 OMEGA_H_INLINE SplitVertex hypercube_split_template(
536 Int parent_dim, Int child_dim, Int which_child, Int which_child_vtx) {
537 switch (parent_dim) {
543 switch (which_child) {
545 switch (which_child_vtx) {
553 switch (which_child_vtx) {
568 switch (which_child_vtx) {
570 return {1, which_child};
576 switch (which_child) {
578 switch (which_child_vtx) {
590 switch (which_child_vtx) {
602 switch (which_child_vtx) {
614 switch (which_child_vtx) {
633 switch (which_child_vtx) {
635 return {2, which_child};
641 switch (which_child) {
643 switch (which_child_vtx) {
655 switch (which_child_vtx) {
667 switch (which_child_vtx) {
679 switch (which_child_vtx) {
691 switch (which_child_vtx) {
703 switch (which_child_vtx) {
715 switch (which_child_vtx) {
727 switch (which_child_vtx) {
739 switch (which_child_vtx) {
751 switch (which_child_vtx) {
763 switch (which_child_vtx) {
775 switch (which_child_vtx) {
789 switch (which_child) {
791 switch (which_child_vtx) {
811 switch (which_child_vtx) {
831 switch (which_child_vtx) {
851 switch (which_child_vtx) {
871 switch (which_child_vtx) {
891 switch (which_child_vtx) {
911 switch (which_child_vtx) {
931 switch (which_child_vtx) {
Defines the TemplateUp class.
Definition: amr_mpi_test.cpp:6
OMEGA_H_INLINE Int hypercube_down_template(Int elem_dim, Int bdry_dim, Int which_bdry, Int which_vert)
Relates bounding hypercube vertices the parent hypercube's vertices.
Definition: Omega_h_hypercube.hpp:26