- use specific data types for local IDs and indices (instead of h5_id_t)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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[] = {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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,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]);
|
||||
|
||||
@@ -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]);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user