6#include <kernel/geometry/test_aux/validate_structured_meshes.hpp> 
    7#include <kernel/geometry/test_aux/copy_comp_set.hpp> 
   15      void validate_structured_mesh_2d(
const StructuredMesh<2>* mesh)
 
   19        if(mesh->get_num_entities(0) != 21)
 
   20          throw String(
"Vertex count mismatch");
 
   21        if(mesh->get_num_entities(1) != 32)
 
   22          throw String(
"Edge count mismatch");
 
   23        if(mesh->get_num_entities(2) != 12)
 
   24          throw String(
"Quad count mismatch");
 
   27        static const Index v_e[] =
 
   65        static const Index v_q[] =
 
   82        static const Index e_q[] =
 
  100        const StructIndexSet<2,1,0>& set_v_e = mesh->get_index_set<1,0>();
 
  101        const StructIndexSet<2,2,0>& set_v_q = mesh->get_index_set<2,0>();
 
  102        const StructIndexSet<2,2,1>& set_e_q = mesh->get_index_set<2,1>();
 
  106        for(
Index j(0); j < 32; ++j)
 
  108          for(
int k(0); k < 2; ++k)
 
  110            if(set_v_e(j,k) != v_e[i])
 
  112              throw String(
"Vertex-At-Edge index set error");
 
  120        for(
Index j(0); j < 12; ++j)
 
  122          for(
int k(0); k < 4; ++k)
 
  124            if(set_v_q(j,k) != v_q[i])
 
  126              throw String(
"Vertex-At-Quad index set error");
 
  134        for(
Index j(0); j < 12; ++j)
 
  136          for(
int k(0); k < 4; ++k)
 
  138            if(set_e_q(j,k) != e_q[i])
 
  140              throw String(
"Edge-At-Quad index set error");
 
  147      void validate_structured_mesh_3d(
const StructuredMesh<3>* mesh)
 
  151        if(mesh->get_num_entities(0) != 60)
 
  152          throw String(
"Vertex count mismatch");
 
  153        if(mesh->get_num_entities(1) != 133)
 
  154          throw String(
"Edge count mismatch");
 
  155        if(mesh->get_num_entities(2) != 98)
 
  156          throw String(
"Quad count mismatch");
 
  157        if(mesh->get_num_entities(3) != 24)
 
  158          throw String(
"Hexa count mismatch");
 
  161        static const Index v_e[] =
 
  317        static const Index v_q[] =
 
  429        static const Index v_h[] =
 
  431          0, 1, 5, 6, 15, 16, 20, 21,
 
  432          1, 2, 6, 7, 16, 17, 21, 22,
 
  433          2, 3, 7, 8, 17, 18, 22, 23,
 
  434          3, 4, 8, 9, 18, 19, 23, 24,
 
  435          5, 6, 10, 11, 20, 21, 25, 26,
 
  436          6, 7, 11, 12, 21, 22, 26, 27,
 
  437          7, 8, 12, 13, 22, 23, 27, 28,
 
  438          8, 9, 13, 14, 23, 24, 28, 29,
 
  440          15, 16, 20, 21, 30, 31, 35, 36,
 
  441          16, 17, 21, 22, 31, 32, 36, 37,
 
  442          17, 18, 22, 23, 32, 33, 37, 38,
 
  443          18, 19, 23, 24, 33, 34, 38, 39,
 
  444          20, 21, 25, 26, 35, 36, 40, 41,
 
  445          21, 22, 26, 27, 36, 37, 41, 42,
 
  446          22, 23, 27, 28, 37, 38, 42, 43,
 
  447          23, 24, 28, 29, 38, 39, 43, 44,
 
  449          30, 31, 35, 36, 45, 46, 50, 51,
 
  450          31, 32, 36, 37, 46, 47, 51, 52,
 
  451          32, 33, 37, 38, 47, 48, 52, 53,
 
  452          33, 34, 38, 39, 48, 49, 53, 54,
 
  453          35, 36, 40, 41, 50, 51, 55, 56,
 
  454          36, 37, 41, 42, 51, 52, 56, 57,
 
  455          37, 38, 42, 43, 52, 53, 57, 58,
 
  456          38, 39, 43, 44, 53, 54, 58, 59
 
  460        static const Index e_q[] =
 
  568        static const Index e_h[] =
 
  570          0, 4, 12, 16, 48, 50, 58, 60, 88, 91, 103, 106,
 
  571          1, 5, 13, 17, 50, 52, 60, 62, 91, 94, 106, 109,
 
  572          2, 6, 14, 18, 52, 54, 62, 64, 94, 97, 109, 112,
 
  573          3, 7, 15, 19, 54, 56, 64, 66, 97, 100, 112, 115,
 
  574          4, 8, 16, 20, 49, 51, 59, 61, 103, 106, 118, 121,
 
  575          5, 9, 17, 21, 51, 53, 61, 63, 106, 109, 121, 124,
 
  576          6, 10, 18, 22, 53, 55, 63, 65, 109, 112, 124, 127,
 
  577          7, 11, 19, 23, 55, 57, 65, 67, 112, 115, 127, 130,
 
  578          12, 16, 24, 28, 58, 60, 68, 70, 89, 92, 104, 107,
 
  579          13, 17, 25, 29, 60, 62, 70, 72, 92, 95, 107, 110,
 
  580          14, 18, 26, 30, 62, 64, 72, 74, 95, 98, 110, 113,
 
  581          15, 19, 27, 31, 64, 66, 74, 76, 98, 101, 113, 116,
 
  582          16, 20, 28, 32, 59, 61, 69, 71, 104, 107, 119, 122,
 
  583          17, 21, 29, 33, 61, 63, 71, 73, 107, 110, 122, 125,
 
  584          18, 22, 30, 34, 63, 65, 73, 75, 110, 113, 125, 128,
 
  585          19, 23, 31, 35, 65, 67, 75, 77, 113, 116, 128, 131,
 
  586          24, 28, 36, 40, 68, 70, 78, 80, 90, 93, 105, 108,
 
  587          25, 29, 37, 41, 70, 72, 80, 82, 93, 96, 108, 111,
 
  588          26, 30, 38, 42, 72, 74, 82, 84, 96, 99, 111, 114,
 
  589          27, 31, 39, 43, 74, 76, 84, 86, 99, 102, 114, 117,
 
  590          28, 32, 40, 44, 69, 71, 79, 81, 105, 108, 120, 123,
 
  591          29, 33, 41, 45, 71, 73, 81, 83, 108, 111, 123, 126,
 
  592          30, 34, 42, 46, 73, 75, 83, 85, 111, 114, 126, 129,
 
  593          31, 35, 43, 47, 75, 77, 85, 87, 114, 117, 129, 132
 
  597        static const Index q_h[] =
 
  599          0, 8, 32, 44, 68, 74,
 
  600          1, 9, 33, 45, 74, 80,
 
  601          2, 10, 34, 46, 80, 86,
 
  602          3, 11, 35, 47, 86, 92,
 
  603          4, 12, 44, 56, 69, 75,
 
  604          5, 13, 45, 57, 75, 81,
 
  605          6, 14, 46, 58, 81, 87,
 
  606          7, 15, 47, 59, 87, 93,
 
  607          8, 16, 36, 48, 70, 76,
 
  608          9, 17, 37, 49, 76, 82,
 
  609          10, 18, 38, 50, 82, 88,
 
  610          11, 19, 39, 51, 88, 94,
 
  611          12, 20, 48, 60, 71, 77,
 
  612          13, 21, 49, 61, 77, 83,
 
  613          14, 22, 50, 62, 83, 89,
 
  614          15, 23, 51, 63, 89, 95,
 
  615          16, 24, 40, 52, 72, 78,
 
  616          17, 25, 41, 53, 78, 84,
 
  617          18, 26, 42, 54, 84, 90,
 
  618          19, 27, 43, 55, 90, 96,
 
  619          20, 28, 52, 64, 73, 79,
 
  620          21, 29, 53, 65, 79, 85,
 
  621          22, 30, 54, 66, 85, 91,
 
  622          23, 31, 55, 67, 91, 97
 
  626        const StructIndexSet<3,1,0>& set_v_e = mesh->get_index_set<1,0>();
 
  627        const StructIndexSet<3,2,0>& set_v_q = mesh->get_index_set<2,0>();
 
  628        const StructIndexSet<3,3,0>& set_v_h = mesh->get_index_set<3,0>();
 
  629        const StructIndexSet<3,2,1>& set_e_q = mesh->get_index_set<2,1>();
 
  630        const StructIndexSet<3,3,1>& set_e_h = mesh->get_index_set<3,1>();
 
  631        const StructIndexSet<3,3,2>& set_q_h = mesh->get_index_set<3,2>();
 
  635        for(
Index j(0); j < 133; ++j)
 
  637          for(
int k(0); k < 2; ++k)
 
  639            if(set_v_e(j,k) != v_e[i])
 
  641              throw String(
"Vertex-At-Edge index set error");
 
  649        for(
Index j(0); j < 98; ++j)
 
  651          for(
int k(0); k < 4; ++k)
 
  653            if(set_v_q(j,k) != v_q[i])
 
  655              throw String(
"Vertex-At-Quad index set error");
 
  663        for(
Index j(0); j < 24; ++j)
 
  665          for(
int k(0); k < 8; ++k)
 
  667            if(set_v_h(j,k) != v_h[i])
 
  669              throw String(
"Vertex-At-Hexa index set error");
 
  677        for(
Index j(0); j < 98; ++j)
 
  679          for(
int k(0); k < 4; ++k)
 
  681            if(set_e_q(j,k) != e_q[i])
 
  683              throw String(
"Edge-At-Quad index set error");
 
  691        for(
Index j(0); j < 24; ++j)
 
  693          for(
int k(0); k < 12; ++k)
 
  695            if(set_e_h(j,k) != e_h[i])
 
  697              throw String(
"Edge-At-Hexa index set error");
 
  705        for(
Index j(0); j < 24; ++j)
 
  707          for(
int k(0); k < 6; ++k)
 
  709            if(set_q_h(j,k) != q_h[i])
 
  711              throw String(
"Quad-At-Hexa index set error");
 
std::uint64_t Index
Index data type.