- use specific data types for local IDs and indices (instead of h5_id_t)

This commit is contained in:
2011-02-03 10:51:28 +00:00
parent 2bc7cc1024
commit 05772223f5
13 changed files with 221 additions and 189 deletions
+5 -5
View File
@@ -16,9 +16,9 @@ struct vertex {
typedef struct vertex vertex_t;
struct tet {
h5_id_t global_id;
h5_id_t parent_id;
h5_id_t vids[4];
h5_glb_id_t global_id;
h5_glb_id_t parent_id;
h5_glb_id_t vids[4];
};
typedef struct tet tet_t;
@@ -46,8 +46,8 @@ main (
fprintf ( stderr, "!!! Can't open mesh %d\n", mesh_id );
return -1;
}
h5_id_t global_vids[4] = { 0, 3, 4, 5 };
h5_id_t global_tid = H5FedMapTet2GlobalID ( f, global_vids );
h5_glb_id_t global_vids[4] = { 0, 3, 4, 5 };
h5_glb_id_t global_tid = H5FedMapTet2GlobalID ( f, global_vids );
if ( global_tid < 0 ) {
fprintf ( stderr, "!!! Oops ...\n" );
return 1;
+5 -5
View File
@@ -16,9 +16,9 @@ struct vertex {
typedef struct vertex vertex_t;
struct tet {
h5_id_t global_id;
h5_id_t parent_id;
h5_id_t vids[4];
h5_glb_id_t global_id;
h5_glb_id_t parent_id;
h5_glb_id_t vids[4];
};
typedef struct tet tet_t;
@@ -46,8 +46,8 @@ main (
fprintf ( stderr, "!!! Can't open mesh %d\n", mesh_id );
return -1;
}
h5_id_t global_vids[3] = { 3, 4, 5 }; // sorted 4, 5, 3
h5_id_t global_tid = H5FedMapTriangle2GlobalID ( f, global_vids );
h5_glb_id_t global_vids[3] = { 3, 4, 5 }; // sorted 4, 5, 3
h5_glb_id_t global_tid = H5FedMapTriangle2GlobalID ( f, global_vids );
if ( global_tid < 0 ) {
fprintf ( stderr, "!!! Oops ...\n" );
return 1;
+76 -54
View File
@@ -13,12 +13,12 @@ const char* FNAME = "simple_tet.h5";
static h5_err_t
print_adjacencies_of_vertex (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* uadj_edges;
h5_idlist_t* uadj_triangles;
h5_idlist_t* uadj_tets;
h5_loc_idlist_t* uadj_edges;
h5_loc_idlist_t* uadj_triangles;
h5_loc_idlist_t* uadj_tets;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 1, &uadj_edges);
H5FedGetAdjacencies (f, local_id, 2, &uadj_triangles);
@@ -33,11 +33,12 @@ print_adjacencies_of_vertex (
char k[256];
char d[256];
char t[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i == 0) {
H5FedGetVertexIndicesOfEntity (
f, local_id, local_vids);
snprintf (v, sizeof(v), "=[%lld]=", local_vids[0]);
snprintf (v, sizeof(v), "=[%lld]=",
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -45,7 +46,8 @@ print_adjacencies_of_vertex (
H5FedGetVertexIndicesOfEntity (
f, uadj_edges->items[i], local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -53,7 +55,9 @@ print_adjacencies_of_vertex (
H5FedGetVertexIndicesOfEntity (
f, uadj_triangles->items[i], local_vids);
snprintf (d, sizeof(d), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -61,8 +65,10 @@ print_adjacencies_of_vertex (
H5FedGetVertexIndicesOfEntity (
f, uadj_tets->items[i], local_vids);
snprintf (t, sizeof(t), "=[%lld,%lld,%lld,%lld]=",
local_vids[0], local_vids[1],
local_vids[2], local_vids[3]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2],
(long long)local_vids[3]);
} else {
*t = '\0';
}
@@ -77,12 +83,12 @@ print_adjacencies_of_vertex (
static h5_err_t
print_adjacencies_of_edge (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* dadj_vertices;
h5_idlist_t* uadj_triangles;
h5_idlist_t* uadj_tets;
h5_loc_idlist_t* dadj_vertices;
h5_loc_idlist_t* uadj_triangles;
h5_loc_idlist_t* uadj_tets;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 0, &dadj_vertices);
H5FedGetAdjacencies (f, local_id, 2, &uadj_triangles);
@@ -98,12 +104,12 @@ print_adjacencies_of_edge (
char k[256];
char d[256];
char t[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i < dadj_vertices->num_items) {
H5FedGetVertexIndicesOfEntity (
f, dadj_vertices->items[i], local_vids);
snprintf (v, sizeof(v), "=[%lld]=",
local_vids[0]);
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -111,7 +117,8 @@ print_adjacencies_of_edge (
H5FedGetVertexIndicesOfEntity (
f, local_id, local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -119,7 +126,9 @@ print_adjacencies_of_edge (
H5FedGetVertexIndicesOfEntity (
f, uadj_triangles->items[i], local_vids);
snprintf (d, sizeof(d), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -127,8 +136,10 @@ print_adjacencies_of_edge (
H5FedGetVertexIndicesOfEntity (
f, uadj_tets->items[i], local_vids);
snprintf (t, sizeof(t), "=[%lld,%lld,%lld,%lld]=",
local_vids[0], local_vids[1],
local_vids[2], local_vids[3]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2],
(long long)local_vids[3]);
} else {
*t = '\0';
}
@@ -143,12 +154,12 @@ print_adjacencies_of_edge (
static h5_err_t
print_adjacencies_of_triangle (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* dadj_vertices;
h5_idlist_t* dadj_edges;
h5_idlist_t* uadj_tets;
h5_loc_idlist_t* dadj_vertices;
h5_loc_idlist_t* dadj_edges;
h5_loc_idlist_t* uadj_tets;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 0, &dadj_vertices);
H5FedGetAdjacencies (f, local_id, 1, &dadj_edges);
@@ -163,12 +174,12 @@ print_adjacencies_of_triangle (
char k[256];
char d[256];
char t[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i < dadj_vertices->num_items) {
H5FedGetVertexIndicesOfEntity (
f, dadj_vertices->items[i], local_vids);
snprintf (v, sizeof(v), "=[%lld]=",
local_vids[0]);
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -176,7 +187,8 @@ print_adjacencies_of_triangle (
H5FedGetVertexIndicesOfEntity (
f, dadj_edges->items[i], local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -184,7 +196,9 @@ print_adjacencies_of_triangle (
H5FedGetVertexIndicesOfEntity (
f, local_id, local_vids);
snprintf (d, sizeof(k), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -192,8 +206,10 @@ print_adjacencies_of_triangle (
H5FedGetVertexIndicesOfEntity (
f, uadj_tets->items[i], local_vids);
snprintf (t, sizeof(t), "=[%lld,%lld,%lld,%lld]=",
local_vids[0], local_vids[1],
local_vids[2], local_vids[3]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2],
(long long)local_vids[3]);
} else {
*t = '\0';
}
@@ -208,12 +224,12 @@ print_adjacencies_of_triangle (
static h5_err_t
print_adjacencies_of_tet (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* dadj_vertices;
h5_idlist_t* dadj_edges;
h5_idlist_t* dadj_triangles;
h5_loc_idlist_t* dadj_vertices;
h5_loc_idlist_t* dadj_edges;
h5_loc_idlist_t* dadj_triangles;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 0, &dadj_vertices);
H5FedGetAdjacencies (f, local_id, 1, &dadj_edges);
@@ -228,12 +244,12 @@ print_adjacencies_of_tet (
char k[256];
char d[256];
char t[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i < dadj_vertices->num_items) {
H5FedGetVertexIndicesOfEntity (
f, dadj_vertices->items[i], local_vids);
snprintf (v, sizeof(v), "=[%lld]=",
local_vids[0]);
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -241,7 +257,8 @@ print_adjacencies_of_tet (
H5FedGetVertexIndicesOfEntity (
f, dadj_edges->items[i], local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -249,7 +266,9 @@ print_adjacencies_of_tet (
H5FedGetVertexIndicesOfEntity (
f, dadj_triangles->items[i], local_vids);
snprintf (d, sizeof(d), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -257,7 +276,10 @@ print_adjacencies_of_tet (
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]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2],
(long long)local_vids[2]);
} else {
*t = '\0';
}
@@ -273,8 +295,8 @@ static h5_err_t
traverse_vertices (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
@@ -291,7 +313,7 @@ traverse_vertices (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -303,8 +325,8 @@ static h5_err_t
traverse_edges (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
@@ -321,7 +343,7 @@ traverse_edges (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -333,8 +355,8 @@ static h5_err_t
traverse_triangles (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
clock_t t_total = 0;
@@ -351,7 +373,7 @@ traverse_triangles (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -363,8 +385,8 @@ static h5_err_t
traverse_elems (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
@@ -381,7 +403,7 @@ traverse_elems (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -392,9 +414,9 @@ traverse_elems (
static h5_err_t
traverse_level (
h5_file_t* const f,
const h5_id_t level_id
const h5t_lvl_idx_t level_id
) {
printf (" Setting level to %lld\n", level_id);
printf (" Setting level to %d\n", level_id);
H5FedSetLevel (f, level_id);
traverse_vertices (f);
traverse_edges (f);
@@ -416,7 +438,7 @@ traverse_mesh (
printf (" Number of levels in mesh: %lld\n", (long long)num_levels);
/* loop over all levels */
h5_id_t level_id;
h5t_lvl_idx_t level_id;
for (level_id = 0; level_id < num_levels; level_id++) {
traverse_level (f, level_id);
}
+26 -22
View File
@@ -20,13 +20,13 @@ traverse_vertices (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_vertices = 0;
while ((local_id = H5FedTraverseEntities ( f, iter )) >= 0) {
h5_float64_t P[3];
H5FedGetVertexCoordsByID (f, local_id, P);
char v[256];
snprintf (v, sizeof(v), "=%llx=", local_id);
snprintf (v, sizeof(v), "=%llx=", (long long)local_id);
printf ("| %-18s | (%f, %f, %f) |\n",
v, P[0], P[1], P[2]);
num_vertices++;
@@ -57,16 +57,16 @@ traverse_edges (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_edges = 0;
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
char v[256];
char k[256];
h5_id_t local_vids[4];
snprintf ( k, sizeof(k), "=%llx=", local_id );
h5_loc_id_t local_vids[4];
snprintf ( k, sizeof(k), "=%llx=", (long long)local_id );
H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids );
snprintf ( v, sizeof(v), "=[%lld,%lld]=",
local_vids[0], local_vids[1] );
(long long)local_vids[0], (long long)local_vids[1] );
printf ( "| %-18s | %-18s |\n", k, v );
num_edges++;
}
@@ -88,16 +88,18 @@ traverse_triangles (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_triangles = 0;
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
char v[256];
char d[256];
h5_id_t local_vids[4];
snprintf ( d, sizeof(d), "=%llx=", local_id );
h5_loc_id_t local_vids[4];
snprintf ( d, sizeof(d), "=%llx=", (long long)local_id );
H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids );
snprintf ( v, sizeof(v), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2] );
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2] );
printf ( "| %-18s | %-18s |\n", d, v );
num_triangles++;
}
@@ -120,16 +122,18 @@ traverse_boundary_triangles (
h5t_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_triangles = 0;
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
char v[256];
char d[256];
h5_id_t local_vids[4];
snprintf ( d, sizeof(d), "=%llx=", local_id );
h5_loc_id_t local_vids[4];
snprintf ( d, sizeof(d), "=%llx=", (long long)local_id );
H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids );
snprintf ( v, sizeof(v), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2] );
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2] );
printf ( "| %-18s | %-18s |\n", d, v );
num_triangles++;
}
@@ -153,17 +157,17 @@ traverse_elems (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
/* iterate over all co-dim 0 entities, i.e. elements */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_elems = 0;
while ((local_id = H5FedTraverseEntities ( f, iter )) >= 0) {
char v[256];
char t[256];
h5_id_t local_vids[4];
snprintf ( t, sizeof(t), "=%llx=", local_id );
h5_loc_id_t local_vids[4];
snprintf ( t, sizeof(t), "=%llx=", (long long)local_id );
H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids );
snprintf ( v, sizeof(v), "=[%lld,%lld,%lld,%lld]=",
local_vids[0], local_vids[1],
local_vids[2],local_vids[3] );
(long long)local_vids[0], (long long)local_vids[1],
(long long)local_vids[2], (long long)local_vids[3] );
printf ( "| %-18s | %-18s |\n", t, v );
num_elems++;
}
@@ -186,9 +190,9 @@ traverse_elems (
static h5_err_t
traverse_level (
h5_file_t* const f,
const h5_id_t level_id
const h5t_lvl_idx_t level_id
) {
printf (" Setting level to %lld\n", level_id);
printf (" Setting level to %d\n", level_id);
H5FedSetLevel (f, level_id);
traverse_vertices (f);
traverse_edges (f);
@@ -211,7 +215,7 @@ traverse_mesh (
printf (" Number of levels in mesh: %lld\n", (long long)num_levels);
/* loop over all levels */
h5_id_t level_id;
h5t_lvl_idx_t level_id;
for (level_id = 0; level_id < num_levels; level_id++) {
traverse_level (f, level_id);
}
+14 -14
View File
@@ -17,9 +17,9 @@ struct vertex {
typedef struct vertex vertex_t;
struct tet {
h5_id_t global_id;
h5_id_t parent_id;
h5_id_t vids[4];
h5_glb_id_t global_id;
h5_glb_id_t parent_id;
h5_glb_id_t vids[4];
};
typedef struct tet tet_t;
@@ -27,7 +27,7 @@ static h5_err_t
traverse_vertices (
h5_file_t * f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t real_num = 0;
h5_size_t num = H5FedGetNumVerticesTotal ( f );
@@ -41,7 +41,7 @@ traverse_vertices (
(retval[1] != local_id+1) ||
(retval[2] != local_id+2) ) {
fprintf ( stderr, "!!! Wrong tag values for vertex %lld\n",
local_id );
(long long)local_id );
exit ( 1 );
}
real_num++;
@@ -60,11 +60,11 @@ static h5_err_t
traverse_edges (
h5_file_t * f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
H5FedGetVertexIndicesOfEntity( f, local_id, local_vids );
size_t size;
h5_int64_t retval[3];
@@ -73,7 +73,7 @@ traverse_edges (
(retval[1] != local_id+1) ||
(retval[1] != local_id+1) ) {
fprintf ( stderr, "!!! Wrong tag values for edge %lld\n",
local_id );
(long long)local_id );
exit ( 1 );
}
}
@@ -85,7 +85,7 @@ static h5_err_t
traverse_triangles (
h5_file_t * f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
@@ -96,7 +96,7 @@ traverse_triangles (
(retval[1] != local_id+1) ||
(retval[1] != local_id+1) ) {
fprintf ( stderr, "!!! Wrong tag values for edge %lld\n",
local_id );
(long long)local_id );
exit ( 1 );
}
}
@@ -108,7 +108,7 @@ static h5_err_t
traverse_tets (
h5_file_t * f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t real_num = 0;
h5_size_t num = H5FedGetNumElementsTotal ( f );
@@ -123,7 +123,7 @@ traverse_tets (
(retval[1] != local_id+1) ||
(retval[1] != local_id+1) ) {
fprintf ( stderr, "!!! Wrong tag values for edge %lld\n",
local_id );
(long long)local_id );
exit ( 1 );
}
real_num++;
@@ -154,13 +154,13 @@ traverse_mesh (
h5_file_t * f
) {
h5_id_t level_id;
h5_loc_id_t level_id;
h5_size_t num_levels = H5FedGetNumLevels ( f );
printf ( " Number of levels in mesh: %lld\n", (long long)num_levels );
for ( level_id = 2; level_id < num_levels; level_id++ ) {
h5_err_t h5err = H5FedSetLevel ( f, level_id );
if ( h5err < 0 ) {
fprintf ( stderr, "!!! Can't set level %lld.\n",
fprintf ( stderr, "!!! Can't set level %d.\n",
level_id );
return -1;
}
+1 -1
View File
@@ -18,7 +18,7 @@ typedef struct vertex {
} vertex_t;
typedef struct elem {
h5_id_t vids[4];
h5_loc_idx_t vids[4];
} elem_t;
vertex_t Vertices[] = {
+1 -1
View File
@@ -14,7 +14,7 @@ typedef struct vertex {
} vertex_t;
typedef struct elem {
h5_id_t vids[4];
h5_loc_idx_t vids[4];
} elem_t;
vertex_t Vertices[] = {
+5 -5
View File
@@ -12,7 +12,7 @@ static h5_err_t
set_vertex_tags (
h5_file_t* const f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to vertices\n");
@@ -28,7 +28,7 @@ set_vertex_tags (
if (memcmp (val, retval, sizeof(val))) {
fprintf ( stderr, "Oops!\n");
}
printf ("Set tag for entity %llx\n", local_id);
printf ("Set tag for entity %llx\n", (long long)local_id);
}
return H5FedEndTraverseEntities (f, iter);
}
@@ -37,7 +37,7 @@ static h5_err_t
set_edge_tags (
h5_file_t* const f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to edges\n");
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
@@ -60,7 +60,7 @@ static h5_err_t
set_tri_tags (
h5_file_t* const f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to triangle\n");
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
@@ -83,7 +83,7 @@ static h5_err_t
set_tet_tags (
h5_file_t* const f
) {
h5_id_t local_id;
h5_loc_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to tetrahedra\n");
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
+43 -33
View File
@@ -13,11 +13,11 @@ const char* FNAME = "simple_triangle.h5";
static h5_err_t
print_adjacencies_of_vertex (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* uadj_edges;
h5_idlist_t* uadj_triangles;
h5_loc_idlist_t* uadj_edges;
h5_loc_idlist_t* uadj_triangles;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 1, &uadj_edges);
H5FedGetAdjacencies (f, local_id, 2, &uadj_triangles);
@@ -30,11 +30,12 @@ print_adjacencies_of_vertex (
char v[256];
char k[256];
char d[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i == 0) {
H5FedGetVertexIndicesOfEntity (
f, local_id, local_vids);
snprintf (v, sizeof(v), "=[%lld]=", local_vids[0]);
snprintf (v, sizeof(v), "=[%lld]=",
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -42,7 +43,8 @@ print_adjacencies_of_vertex (
H5FedGetVertexIndicesOfEntity (
f, uadj_edges->items[i], local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -50,7 +52,9 @@ print_adjacencies_of_vertex (
H5FedGetVertexIndicesOfEntity (
f, uadj_triangles->items[i], local_vids);
snprintf (d, sizeof(d), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -64,11 +68,11 @@ print_adjacencies_of_vertex (
static h5_err_t
print_adjacencies_of_edge (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* dadj_vertices;
h5_idlist_t* uadj_triangles;
h5_loc_idlist_t* dadj_vertices;
h5_loc_idlist_t* uadj_triangles;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 0, &dadj_vertices);
H5FedGetAdjacencies (f, local_id, 2, &uadj_triangles);
@@ -81,12 +85,12 @@ print_adjacencies_of_edge (
char v[256];
char k[256];
char d[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i < dadj_vertices->num_items) {
H5FedGetVertexIndicesOfEntity (
f, dadj_vertices->items[i], local_vids);
snprintf (v, sizeof(v), "=[%lld]=",
local_vids[0]);
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -94,7 +98,8 @@ print_adjacencies_of_edge (
H5FedGetVertexIndicesOfEntity (
f, local_id, local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -102,7 +107,9 @@ print_adjacencies_of_edge (
H5FedGetVertexIndicesOfEntity (
f, uadj_triangles->items[i], local_vids);
snprintf (d, sizeof(d), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -116,11 +123,11 @@ print_adjacencies_of_edge (
static h5_err_t
print_adjacencies_of_elem (
h5_file_t* const f,
h5_id_t local_id,
h5_loc_id_t local_id,
clock_t* time_used
) {
h5_idlist_t* dadj_vertices;
h5_idlist_t* dadj_edges;
h5_loc_idlist_t* dadj_vertices;
h5_loc_idlist_t* dadj_edges;
clock_t time_used_before = clock();
H5FedGetAdjacencies (f, local_id, 0, &dadj_vertices);
H5FedGetAdjacencies (f, local_id, 1, &dadj_edges);
@@ -132,12 +139,12 @@ print_adjacencies_of_elem (
char v[256];
char k[256];
char d[256];
h5_id_t local_vids[4];
h5_loc_id_t local_vids[4];
if (i < dadj_vertices->num_items) {
H5FedGetVertexIndicesOfEntity (
f, dadj_vertices->items[i], local_vids);
snprintf (v, sizeof(v), "=[%lld]=",
local_vids[0]);
(long long)local_vids[0]);
} else {
*v = '\0';
}
@@ -145,7 +152,8 @@ print_adjacencies_of_elem (
H5FedGetVertexIndicesOfEntity (
f, dadj_edges->items[i], local_vids);
snprintf (k, sizeof(k), "=[%lld,%lld]=",
local_vids[0], local_vids[1]);
(long long)local_vids[0],
(long long)local_vids[1]);
} else {
*k = '\0';
}
@@ -153,7 +161,9 @@ print_adjacencies_of_elem (
H5FedGetVertexIndicesOfEntity (
f, local_id, local_vids);
snprintf (d, sizeof(k), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
} else {
*d = '\0';
}
@@ -168,8 +178,8 @@ static h5_err_t
traverse_vertices (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
@@ -186,7 +196,7 @@ traverse_vertices (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -198,8 +208,8 @@ static h5_err_t
traverse_edges (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
@@ -216,7 +226,7 @@ traverse_edges (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -228,8 +238,8 @@ static h5_err_t
traverse_elems (
h5_file_t* const f
) {
h5_id_t local_id;
h5_id_t num = 0;
h5_loc_id_t local_id;
h5_loc_idx_t num = 0;
clock_t t_total = 0;
clock_t t_min = CLOCKS_PER_SEC;
clock_t t_max = 0;
@@ -246,7 +256,7 @@ traverse_elems (
fprintf (
stderr,
"%lld\ttotal: %f\tmin: %f\tavg: %f\tmax: %f\n",
num,
(long long)num,
(double)t_total / (double)CLOCKS_PER_SEC,
(double)t_min / (double)CLOCKS_PER_SEC,
(double)t_total / (double)CLOCKS_PER_SEC / (double)num,
@@ -257,9 +267,9 @@ traverse_elems (
static h5_err_t
traverse_level (
h5_file_t* const f,
const h5_id_t level_id
const h5t_lvl_idx_t level_id
) {
printf (" Setting level to %lld\n", level_id);
printf (" Setting level to %d\n", level_id);
H5FedSetLevel (f, level_id);
traverse_vertices (f);
traverse_edges (f);
@@ -280,7 +290,7 @@ traverse_mesh (
printf (" Number of levels in mesh: %lld\n", (long long)num_levels);
/* loop over all levels */
h5_id_t level_id;
h5t_lvl_idx_t level_id;
for (level_id = 0; level_id < num_levels; level_id++) {
traverse_level (f, level_id);
}
+19 -17
View File
@@ -17,13 +17,13 @@ traverse_vertices (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_vertices = 0;
while ((local_id = H5FedTraverseEntities ( f, iter )) >= 0) {
h5_float64_t P[3];
H5FedGetVertexCoordsByID (f, local_id, P);
char v[256];
snprintf (v, sizeof(v), "=%llx=", local_id);
snprintf (v, sizeof(v), "=%llx=", (long long)local_id);
printf ("| %-18s | (%f, %f, %f) |\n",
v, P[0], P[1], P[2]);
num_vertices++;
@@ -53,16 +53,16 @@ traverse_edges (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_edges = 0;
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
char v[256];
char k[256];
h5_id_t local_vids[4];
snprintf ( k, sizeof(k), "=%llx=", local_id );
h5_loc_id_t local_vids[4];
snprintf ( k, sizeof(k), "=%llx=", (long long)local_id );
H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids );
snprintf ( v, sizeof(v), "=[%lld,%lld]=",
local_vids[0], local_vids[1] );
(long long)local_vids[0], (long long)local_vids[1] );
printf ( "| %-18s | %-18s |\n", k, v );
num_edges++;
}
@@ -84,16 +84,16 @@ traverse_boundary_edges (
h5t_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
/* iterate */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_edges = 0;
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
char v[256];
char k[256];
h5_id_t local_vids[4];
snprintf ( k, sizeof(k), "=%llx=", local_id );
h5_loc_id_t local_vids[4];
snprintf ( k, sizeof(k), "=%llx=", (long long)local_id );
H5FedGetVertexIndicesOfEntity ( f, local_id, local_vids );
snprintf ( v, sizeof(v), "=[%lld,%lld]=",
local_vids[0], local_vids[1] );
(long long)local_vids[0], (long long)local_vids[1] );
printf ( "| %-18s | %-18s |\n", k, v );
num_edges++;
}
@@ -116,16 +116,18 @@ traverse_elems (
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
/* iterate over all co-dim 0 entities, i.e. elements */
h5_id_t local_id;
h5_loc_id_t local_id;
h5_size_t num_elems = 0;
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
char v[256];
char t[256];
h5_id_t local_vids[4];
snprintf (t, sizeof(t), "=%llx=", local_id);
h5_loc_id_t local_vids[4];
snprintf (t, sizeof(t), "=%llx=", (long long)local_id);
H5FedGetVertexIndicesOfEntity (f, local_id, local_vids);
snprintf (v, sizeof(v), "=[%lld,%lld,%lld]=",
local_vids[0], local_vids[1], local_vids[2]);
(long long)local_vids[0],
(long long)local_vids[1],
(long long)local_vids[2]);
printf ("| %-18s | %-18s |\n", t, v);
num_elems++;
}
@@ -149,9 +151,9 @@ traverse_elems (
static h5_err_t
traverse_level (
h5_file_t* const f,
const h5_id_t level_id
const h5_loc_id_t level_id
) {
printf (" Setting level to %lld\n", level_id);
printf (" Setting level to %d\n", level_id);
H5FedSetLevel (f, level_id);
traverse_vertices (f);
traverse_edges (f);
@@ -173,7 +175,7 @@ traverse_mesh (
printf (" Number of levels in mesh: %lld\n", (long long)num_levels);
/* loop over all levels */
h5_id_t level_id;
h5t_lvl_idx_t level_id;
for (level_id = 0; level_id < num_levels; level_id++) {
traverse_level (f, level_id);
}
+7 -10
View File
@@ -7,26 +7,23 @@ const h5_oid_t MESH_TYPE = H5_TRIANGLE_MESH;
const char* FNAME = "simple_triangle.h5";
typedef struct vertex {
h5_id_t global_id;
h5_float64_t P[3];
} vertex_t;
typedef struct elem {
h5_id_t global_id;
h5_id_t parent_id;
h5_id_t vids[3];
h5_loc_idx_t vids[3];
} elem_t;
vertex_t Vertices[] = {
{ 0, {-1.0, 0.0, 0.0} },
{ 1, { 1.0, 0.0, 0.0} },
{ 2, { 0.0, 1.0, 0.0} },
{ 3, { 0.0, -1.0, 0.0} }
{ {-1.0, 0.0, 0.0} },
{ { 1.0, 0.0, 0.0} },
{ { 0.0, 1.0, 0.0} },
{ { 0.0, -1.0, 0.0} }
};
elem_t Elems[] = {
{ 1, -1, { 0, 1, 2 } },
{ 0, -1, { 0, 1, 3 } }
{ { 0, 1, 2 } },
{ { 0, 1, 3 } }
};
const int num_vertices = sizeof (Vertices) / sizeof (Vertices[0]);
+14 -17
View File
@@ -7,33 +7,30 @@ const h5_oid_t MESH_TYPE = H5_TRIANGLE_MESH;
const char* FNAME = "simple_dunetest.h5";
typedef struct vertex {
h5_id_t global_id;
h5_float64_t P[3];
} vertex_t;
typedef struct elem {
h5_id_t global_id;
h5_id_t parent_id;
h5_id_t vids[3];
h5_loc_idx_t vids[3];
} elem_t;
vertex_t Vertices[] = {
{ 0, { 0.0, 0.0, 0.0} },
{ 1, {-0.5, 1.0, 0.0} },
{ 2, { 0.5, 1.0, 0.0} },
{ 3, { 1.0, 0.0, 0.0} },
{ 4, { 0.5, -1.0, 0.0} },
{ 5, {-0.5, -1.0, 0.0} },
{ 6, {-1.0, 0.0, 0.0} }
{ { 0.0, 0.0, 0.0} },
{ {-0.5, 1.0, 0.0} },
{ { 0.5, 1.0, 0.0} },
{ { 1.0, 0.0, 0.0} },
{ { 0.5, -1.0, 0.0} },
{ {-0.5, -1.0, 0.0} },
{ {-1.0, 0.0, 0.0} }
};
elem_t Elems[] = {
{ 0, -1, { 0, 1, 2 } },
{ 1, -1, { 0, 2, 3 } },
{ 2, -1, { 0, 3, 4 } },
{ 3, -1, { 0, 4, 5 } },
{ 4, -1, { 0, 5, 6 } },
{ 5, -1, { 0, 1, 6 } }
{ { 0, 1, 2 } },
{ { 0, 2, 3 } },
{ { 0, 3, 4 } },
{ { 0, 4, 5 } },
{ { 0, 5, 6 } },
{ { 0, 1, 6 } }
};
const int num_vertices = sizeof (Vertices) / sizeof (Vertices[0]);
+5 -5
View File
@@ -10,21 +10,21 @@
#endif
struct vertex {
h5_id_t global_id;
h5_glb_id_t global_id;
h5_float64_t P[3];
};
typedef struct vertex vertex_t;
struct tet {
h5_id_t global_id;
h5_id_t parent_id;
h5_id_t vids[4];
h5_glb_id_t global_id;
h5_glb_id_t parent_id;
h5_glb_id_t vids[4];
};
typedef struct tet tet_t;
struct boundary {
h5_id_t vids[3];
h5_glb_id_t vids[3];
};
typedef struct boundary boundary_t;