output entities as n-tuple of vertex indices, not their ID
This commit is contained in:
@@ -35,7 +35,9 @@ print_adjacencies_of_vertex (
|
||||
char t[256];
|
||||
h5_id_t local_vids[4];
|
||||
if (i == 0) {
|
||||
snprintf (v, sizeof(v), "=%llx=", local_id);
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, local_id, local_vids);
|
||||
snprintf (v, sizeof(v), "=[%lld]=", local_vids[0]);
|
||||
} else {
|
||||
*v = '\0';
|
||||
}
|
||||
@@ -98,13 +100,18 @@ print_adjacencies_of_edge (
|
||||
char t[256];
|
||||
h5_id_t local_vids[4];
|
||||
if (i < dadj_vertices->num_items) {
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, dadj_vertices->items[i], local_vids);
|
||||
snprintf (v, sizeof(v), "=[%lld]=",
|
||||
dadj_vertices->items[i]);
|
||||
local_vids[0]);
|
||||
} else {
|
||||
*v = '\0';
|
||||
}
|
||||
if (i == 0) {
|
||||
snprintf (k, sizeof(k), "=%llx=", local_id);
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, local_id, local_vids);
|
||||
snprintf (k, sizeof(k), "=[%lld,%lld]=",
|
||||
local_vids[0], local_vids[1]);
|
||||
} else {
|
||||
*k = '\0';
|
||||
}
|
||||
@@ -158,8 +165,10 @@ print_adjacencies_of_triangle (
|
||||
char t[256];
|
||||
h5_id_t local_vids[4];
|
||||
if (i < dadj_vertices->num_items) {
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, dadj_vertices->items[i], local_vids);
|
||||
snprintf (v, sizeof(v), "=[%lld]=",
|
||||
dadj_vertices->items[i]);
|
||||
local_vids[0]);
|
||||
} else {
|
||||
*v = '\0';
|
||||
}
|
||||
@@ -172,7 +181,10 @@ print_adjacencies_of_triangle (
|
||||
*k = '\0';
|
||||
}
|
||||
if (i == 0) {
|
||||
snprintf (d, sizeof(d), "=%llx=", local_id);
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, local_id, local_vids);
|
||||
snprintf (d, sizeof(k), "=[%lld,%lld,%lld]=",
|
||||
local_vids[0], local_vids[1], local_vids[2]);
|
||||
} else {
|
||||
*d = '\0';
|
||||
}
|
||||
@@ -218,8 +230,10 @@ print_adjacencies_of_tet (
|
||||
char t[256];
|
||||
h5_id_t local_vids[4];
|
||||
if (i < dadj_vertices->num_items) {
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, dadj_vertices->items[i], local_vids);
|
||||
snprintf (v, sizeof(v), "=[%lld]=",
|
||||
dadj_vertices->items[i]);
|
||||
local_vids[0]);
|
||||
} else {
|
||||
*v = '\0';
|
||||
}
|
||||
@@ -240,7 +254,10 @@ print_adjacencies_of_tet (
|
||||
*d = '\0';
|
||||
}
|
||||
if (i == 0) {
|
||||
snprintf (t, sizeof(t), "=%llx=", local_id);
|
||||
H5FedGetVertexIndicesOfEntity (
|
||||
f, local_id, local_vids);
|
||||
snprintf (d, sizeof(k), "=[%lld,%lld,%lld,%lld]=",
|
||||
local_vids[0], local_vids[1], local_vids[2], local_vids[2]);
|
||||
} else {
|
||||
*t = '\0';
|
||||
}
|
||||
@@ -264,9 +281,6 @@ traverse_vertices (
|
||||
clock_t t = 0;
|
||||
printf ("\nAdjacencies to vertices\n");
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
|
||||
fprintf (
|
||||
stderr,
|
||||
"Computing all adjacencies of all vertices ... ");
|
||||
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
|
||||
print_adjacencies_of_vertex (f, local_id, &t);
|
||||
num++;
|
||||
@@ -297,9 +311,6 @@ traverse_edges (
|
||||
clock_t t = 0;
|
||||
printf ("\nAdjacencies to edges\n");
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
|
||||
fprintf (
|
||||
stderr,
|
||||
"Computing all adjacencies of all edges ... ");
|
||||
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
|
||||
print_adjacencies_of_edge (f, local_id, &t);
|
||||
num++;
|
||||
@@ -330,9 +341,6 @@ traverse_triangles (
|
||||
clock_t t = 0;
|
||||
printf ("\nAdjacencies to triangle\n");
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
|
||||
fprintf (
|
||||
stderr,
|
||||
"Computing all adjacencies of all triangles ... ");
|
||||
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
|
||||
print_adjacencies_of_triangle (f, local_id, &t);
|
||||
num++;
|
||||
@@ -363,9 +371,6 @@ traverse_elems (
|
||||
clock_t t = 0;
|
||||
printf ("\nAdjacencies to tetrahedra\n");
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
|
||||
fprintf (
|
||||
stderr,
|
||||
"Computing all adjacencies of all tetrahedra ... ");
|
||||
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
|
||||
print_adjacencies_of_tet (f, local_id, &t);
|
||||
num++;
|
||||
@@ -428,7 +433,7 @@ main (
|
||||
|
||||
/* abort program on error, so we don't have to handle them */
|
||||
H5SetErrorHandler (H5AbortErrorhandler);
|
||||
H5SetVerbosityLevel (4);
|
||||
H5SetVerbosityLevel (2);
|
||||
|
||||
/* open file and get number of meshes */
|
||||
h5_file_t *f = H5OpenFile (FNAME, H5_O_RDONLY, 0);
|
||||
|
||||
@@ -11,7 +11,7 @@ static h5_err_t
|
||||
traverse_vertices (
|
||||
h5_file_t* const f
|
||||
) {
|
||||
printf ( "Traversing vertices on level %lld:\n", H5FedGetLevel(f) );
|
||||
printf ( "Traversing vertices on level %lld:\n", (long long)H5FedGetLevel(f) );
|
||||
|
||||
/* get number of vertices we have to expect */
|
||||
h5_size_t num_vertices_expect = H5FedGetNumVerticesTotal (f);
|
||||
@@ -51,7 +51,7 @@ static h5_err_t
|
||||
traverse_edges (
|
||||
h5_file_t* const f
|
||||
) {
|
||||
printf ( "Travering edges on level %lld:\n", H5FedGetLevel(f) );
|
||||
printf ( "Travering edges on level %lld:\n", (long long)H5FedGetLevel(f) );
|
||||
|
||||
/* get iterator for co-dim 2 entities, i.e. edges */
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
|
||||
@@ -82,7 +82,7 @@ static h5_err_t
|
||||
traverse_triangles (
|
||||
h5_file_t* const f
|
||||
) {
|
||||
printf ( "Travering triangles on level %lld:\n", H5FedGetLevel(f) );
|
||||
printf ( "Travering triangles on level %lld:\n", (long long)H5FedGetLevel(f) );
|
||||
|
||||
/* get iterator for co-dim 1 entities, i.e. triangles */
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
|
||||
@@ -114,7 +114,7 @@ static h5_err_t
|
||||
traverse_boundary_triangles (
|
||||
h5_file_t* const f
|
||||
) {
|
||||
printf ( "Travering boundary triangles on level %lld:\n", H5FedGetLevel(f) );
|
||||
printf ( "Travering boundary triangles on level %lld:\n", (long long)H5FedGetLevel(f) );
|
||||
|
||||
/* get iterator for co-dim 1 entities, i.e. triangles */
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
|
||||
@@ -225,10 +225,9 @@ main (
|
||||
int argc,
|
||||
char* argv[]
|
||||
) {
|
||||
|
||||
/* abort program on error, so we don't have to handle them */
|
||||
H5SetErrorHandler (H5AbortErrorhandler);
|
||||
H5SetVerbosityLevel (4);
|
||||
H5SetVerbosityLevel (2);
|
||||
|
||||
/* open file and get number of meshes */
|
||||
h5_file_t* f = H5OpenFile (FNAME, H5_O_RDONLY, 0);
|
||||
|
||||
@@ -20,7 +20,7 @@ typedef struct vertex {
|
||||
typedef struct elem {
|
||||
h5_id_t vids[4];
|
||||
} elem_t;
|
||||
|
||||
|
||||
vertex_t Vertices[] = {
|
||||
{{-1.0, 0.0, 0.0}},
|
||||
{{ 1.0, 0.0, 0.0}},
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "H5hut.h"
|
||||
|
||||
const h5_oid_t MESH_TYPE = H5_TETRAHEDRAL_MESH;
|
||||
const char* FNAME = "simple_tet.h5";
|
||||
const char* FNAME = "large_tet.h5";
|
||||
const h5_int32_t num_levels = 11;
|
||||
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ traverse_vertices (
|
||||
if (num_vertices != num_vertices_expect) {
|
||||
fprintf (stderr, "!!! Got %lld vertices, but expected %lld.\n",
|
||||
(long long)num_vertices, (long long)num_vertices_expect);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
printf (" Number of vertices on level: %lld\n", (long long)num_vertices);
|
||||
@@ -46,7 +47,7 @@ static h5_err_t
|
||||
traverse_edges (
|
||||
h5_file_t* const f
|
||||
) {
|
||||
printf ( "Travering edges on level %lld:\n", H5FedGetLevel(f) );
|
||||
printf ( "Travering edges on level %lld:\n", (long long)H5FedGetLevel(f) );
|
||||
|
||||
/* get iterator for co-dim 1 entities, i.e. edges */
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
|
||||
@@ -77,7 +78,7 @@ static h5_err_t
|
||||
traverse_boundary_edges (
|
||||
h5_file_t* const f
|
||||
) {
|
||||
printf ( "Travering boundary edges on level %lld:\n", H5FedGetLevel(f) );
|
||||
printf ( "Travering boundary edges on level %lld:\n", (long long)H5FedGetLevel(f) );
|
||||
|
||||
/* get iterator for co-dim 1 entities, i.e. edges */
|
||||
h5t_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
|
||||
@@ -181,6 +182,7 @@ traverse_mesh (
|
||||
return H5_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
main (
|
||||
int argc,
|
||||
@@ -189,7 +191,7 @@ main (
|
||||
|
||||
/* abort program on error, so we don't have to handle them */
|
||||
H5SetErrorHandler (H5AbortErrorhandler);
|
||||
H5SetVerbosityLevel (5);
|
||||
H5SetVerbosityLevel (3);
|
||||
|
||||
/* open file and get number of meshes */
|
||||
h5_file_t* f = H5OpenFile (FNAME, H5_O_RDONLY, 0);
|
||||
|
||||
@@ -39,7 +39,7 @@ main (
|
||||
) {
|
||||
/* abort program on errors in library */
|
||||
H5SetErrorHandler (H5AbortErrorhandler);
|
||||
H5SetVerbosityLevel (2);
|
||||
H5SetVerbosityLevel (5);
|
||||
|
||||
/* open file and add mesh */
|
||||
h5_file_t* const f = H5OpenFile (FNAME, H5_O_WRONLY, 0);
|
||||
|
||||
Reference in New Issue
Block a user