trimesh_write_dunetest added

This commit is contained in:
2010-12-14 10:35:51 +00:00
parent 8d21236264
commit aec44637d7
8 changed files with 101 additions and 25 deletions
+1
View File
@@ -522,6 +522,7 @@ test/H5Fed/tetmesh_write2.c -text
test/H5Fed/tetmesh_write_tags.c -text
test/H5Fed/trimesh_read.c -text
test/H5Fed/trimesh_write.c -text
test/H5Fed/trimesh_write_dunetest.c -text
test/H5Fed/write_boundary.c -text
test/H5Part/Bench.c -text
test/H5Part/H5ParallelTest.cc -text
+4 -2
View File
@@ -23,7 +23,8 @@ noinst_PROGRAMS = \
tetmesh_write_tags \
tetmesh_read_tags \
trimesh_read \
trimesh_write
trimesh_write \
trimesh_write_dunetest
# map_tet2globalid \
# map_triangle2globalid
@@ -37,7 +38,8 @@ EXTRA_DIST = \
tetmesh_write_tags.c \
tetmesh_read_tags.c \
trimesh_read.c \
trimesh_write.c
trimesh_write.c \
trimesh_write_dunetest.c
# map_tet2globalid.c \
# map_triangle2globalid.c \
+4 -4
View File
@@ -263,7 +263,7 @@ traverse_vertices (
clock_t t_max = 0;
clock_t t = 0;
printf ("\nAdjacencies to vertices\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
fprintf (
stderr,
"Computing all adjacencies of all vertices ... ");
@@ -296,7 +296,7 @@ traverse_edges (
clock_t t_max = 0;
clock_t t = 0;
printf ("\nAdjacencies to edges\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
fprintf (
stderr,
"Computing all adjacencies of all edges ... ");
@@ -329,7 +329,7 @@ traverse_triangles (
clock_t t_total = 0;
clock_t t = 0;
printf ("\nAdjacencies to triangle\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
fprintf (
stderr,
"Computing all adjacencies of all triangles ... ");
@@ -362,7 +362,7 @@ traverse_elems (
clock_t t_max = 0;
clock_t t = 0;
printf ("\nAdjacencies to tetrahedra\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
fprintf (
stderr,
"Computing all adjacencies of all tetrahedra ... ");
+5 -5
View File
@@ -17,7 +17,7 @@ traverse_vertices (
h5_size_t num_vertices_expect = H5FedGetNumVerticesTotal (f);
/* get iterator for co-dim 3 entities, i.e vertices */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
/* iterate */
h5_id_t local_id;
@@ -54,7 +54,7 @@ traverse_edges (
printf ( "Travering edges on level %lld:\n", H5FedGetLevel(f) );
/* get iterator for co-dim 2 entities, i.e. edges */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
/* iterate */
h5_id_t local_id;
@@ -85,7 +85,7 @@ traverse_triangles (
printf ( "Travering triangles on level %lld:\n", H5FedGetLevel(f) );
/* get iterator for co-dim 1 entities, i.e. triangles */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
/* iterate */
h5_id_t local_id;
@@ -117,7 +117,7 @@ traverse_boundary_triangles (
printf ( "Travering boundary triangles on level %lld:\n", H5FedGetLevel(f) );
/* get iterator for co-dim 1 entities, i.e. triangles */
h5t_entity_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
/* iterate */
h5_id_t local_id;
@@ -150,7 +150,7 @@ traverse_elems (
h5_size_t num_elems_expect = H5FedGetNumElementsTotal (f);
/* get iterator for co-dim 0 */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
/* iterate over all co-dim 0 entities, i.e. elements */
h5_id_t local_id;
+4 -4
View File
@@ -31,7 +31,7 @@ traverse_vertices (
h5_size_t real_num = 0;
h5_size_t num = H5FedGetNumVerticesTotal ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3 );
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 3 );
while ( (real_num < num) &&
((local_id = H5FedTraverseEntities (f, iter)) >= 0) ) {
size_t size;
@@ -62,7 +62,7 @@ traverse_edges (
) {
h5_id_t local_id;
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
h5_id_t local_vids[4];
H5FedGetVertexIndicesOfEntity( f, local_id, local_vids );
@@ -87,7 +87,7 @@ traverse_triangles (
) {
h5_id_t local_id;
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
while ( (local_id = H5FedTraverseEntities (f, iter)) >= 0 ) {
size_t size;
h5_int64_t retval[3];
@@ -113,7 +113,7 @@ traverse_tets (
h5_size_t num = H5FedGetNumElementsTotal ( f );
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
while ( (real_num < num) &&
((local_id = H5FedTraverseEntities (f, iter)) >= 0) ) {
size_t size;
+6 -6
View File
@@ -16,15 +16,15 @@ set_vertex_tags (
h5_int64_t val[3];
printf ("\nSet tags to vertices\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 3);
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
val[0] = local_id;
val[1] = local_id+1;
val[2] = local_id+2;
H5FedSetMTag (f, "testtag", local_id, 3, val);
h5_int64_t retval[3];
size_t dims;
H5FedGetMTag (f, "testtag", local_id, &dims, retval);
size_t dim = 3;
H5FedGetMTag (f, "testtag", local_id, &dim, retval);
if (memcmp (val, retval, sizeof(val))) {
fprintf ( stderr, "Oops!\n");
}
@@ -40,7 +40,7 @@ set_edge_tags (
h5_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to edges\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
val[0] = local_id;
val[1] = local_id+1;
@@ -63,7 +63,7 @@ set_tri_tags (
h5_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to triangle\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
val[0] = local_id;
val[1] = local_id+1;
@@ -86,7 +86,7 @@ set_tet_tags (
h5_id_t local_id;
h5_int64_t val[3];
printf ("\nSet tags to tetrahedra\n");
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
while ((local_id = H5FedTraverseEntities (f, iter)) >= 0) {
val[0] = local_id;
val[1] = local_id+1;
+4 -4
View File
@@ -14,7 +14,7 @@ traverse_vertices (
h5_size_t num_vertices_expect = H5FedGetNumVerticesTotal (f);
/* get iterator for co-dim 2 entities, i.e. vertices */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 2);
/* iterate */
h5_id_t local_id;
@@ -49,7 +49,7 @@ traverse_edges (
printf ( "Travering edges on level %lld:\n", H5FedGetLevel(f) );
/* get iterator for co-dim 1 entities, i.e. edges */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 1);
/* iterate */
h5_id_t local_id;
@@ -80,7 +80,7 @@ traverse_boundary_edges (
printf ( "Travering boundary edges on level %lld:\n", H5FedGetLevel(f) );
/* get iterator for co-dim 1 entities, i.e. edges */
h5t_entity_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
h5t_iterator_t* iter = H5FedBeginTraverseBoundaryFaces (f, 1);
/* iterate */
h5_id_t local_id;
@@ -112,7 +112,7 @@ traverse_elems (
h5_size_t num_elems_expect = H5FedGetNumElementsTotal (f);
/* get iterator for co-dim 0 */
h5t_entity_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
h5t_iterator_t* iter = H5FedBeginTraverseEntities (f, 0);
/* iterate over all co-dim 0 entities, i.e. elements */
h5_id_t local_id;
+73
View File
@@ -0,0 +1,73 @@
#include <stdio.h>
#include <stdlib.h>
#include "H5hut.h"
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];
} 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} }
};
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 } }
};
const int num_vertices = sizeof (Vertices) / sizeof (Vertices[0]);
const int num_elems = sizeof (Elems) / sizeof (Elems[0]);
int
main (
int argc,
char* argv[]
) {
/* abort program on errors in library */
H5SetErrorHandler (H5AbortErrorhandler);
H5SetVerbosityLevel (2);
/* open file and add mesh */
h5_file_t* const f = H5OpenFile (FNAME, H5_O_WRONLY, 0);
H5FedAddMesh (f, MESH_TYPE);
/* store vertices */
H5FedBeginStoreVertices (f, num_vertices);
int i;
for (i = 0; i < num_vertices; i++) {
H5FedStoreVertex (f, -1, Vertices[i].P);
}
H5FedEndStoreVertices (f);
/* store elements */
H5FedBeginStoreElements (f, num_elems);
for (i = 0; i < num_elems; i++) {
H5FedStoreElement (f, Elems[i].vids);
}
H5FedEndStoreElements (f);
H5FedCloseMesh (f);
H5CloseFile (f);
return 0;
}