output entities as n-tuple of vertex indices, not their ID

This commit is contained in:
2011-01-21 13:15:13 +00:00
parent eb5c31e80f
commit ea09184d53
6 changed files with 38 additions and 32 deletions
+25 -20
View File
@@ -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);
+5 -6
View File
@@ -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);
+1 -1
View File
@@ -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}},
+1 -1
View File
@@ -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;
+5 -3
View File
@@ -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);
+1 -1
View File
@@ -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);