diff --git a/src/h5core/h5t_readwrite.c b/src/h5core/h5t_readwrite.c index dc3673c..51810f1 100644 --- a/src/h5core/h5t_readwrite.c +++ b/src/h5core/h5t_readwrite.c @@ -1182,39 +1182,7 @@ read_elems ( H5S_SELECT_SET, &hstart, &hstride, &hcount, NULL)); -#if 0 - // TODO DELETE from here -h5_glb_elem_t* glb_elems2 = glb_elems; -#if NDEBUG == 0 -sleep (m->f->myproc*2); -for (int i = 0; i < num_glb_elems;i++) { - h5_debug ("\n" - "GLB ELEM\n idx: %d \n" - " parent_idx: %d \n" - " child_idx: %d \n" - " level_idx: %d \n" - " refinement: %d \n" - " flags: %d \n" - " indices: %d %d %d\n" - " neigh_indi: %d %d %d\n\n", - (int)glb_elems2[i].idx, - (int)glb_elems2[i].parent_idx, - (int)glb_elems2[i].child_idx, - (int)glb_elems2[i].level_idx, - (int)glb_elems2[i].refinement, - (int)glb_elems2[i].flags, - (int)((h5_glb_tri_t*)glb_elems2)[i].vertex_indices[0], - (int)((h5_glb_tri_t*)glb_elems2)[i].vertex_indices[1], - (int)((h5_glb_tri_t*)glb_elems2)[i].vertex_indices[2], - (int)((h5_glb_tri_t*)glb_elems2)[i].neighbor_indices[0], - (int)((h5_glb_tri_t*)glb_elems2)[i].neighbor_indices[1], - (int)((h5_glb_tri_t*)glb_elems2)[i].neighbor_indices[2]); -} - -#endif -#endif -// TODO END #ifdef PARALLEL_IO TRY (h5priv_start_throttle (m->f)); #endif @@ -1230,39 +1198,6 @@ for (int i = 0; i < num_glb_elems;i++) { TRY (h5priv_end_throttle (m->f)); #endif - // TODO DELETE from here - -#if 0 -#if NDEBUG == 0 -sleep (m->f->myproc*2); -for (int i = 0; i < num_glb_elems;i++) { - h5_debug ("\n" - "GLB ELEM\n idx: %d \n" - " parent_idx: %d \n" - " child_idx: %d \n" - " level_idx: %d \n" - " refinement: %d \n" - " flags: %d \n" - " indices: %d %d %d\n" - " neigh_indi: %d %d %d\n\n", - (int)glb_elems2[i].idx, - (int)glb_elems2[i].parent_idx, - (int)glb_elems2[i].child_idx, - (int)glb_elems2[i].level_idx, - (int)glb_elems2[i].refinement, - (int)glb_elems2[i].flags, - (int)((h5_glb_tri_t*)glb_elems2)[i].vertex_indices[0], - (int)((h5_glb_tri_t*)glb_elems2)[i].vertex_indices[1], - (int)((h5_glb_tri_t*)glb_elems2)[i].vertex_indices[2], - (int)((h5_glb_tri_t*)glb_elems2)[i].neighbor_indices[0], - (int)((h5_glb_tri_t*)glb_elems2)[i].neighbor_indices[1], - (int)((h5_glb_tri_t*)glb_elems2)[i].neighbor_indices[2]); -} - -#endif -#endif -// TODO END - TRY (hdf5_close_dataspace (dspace_id)); TRY (hdf5_close_dataspace (mspace_id)); TRY (hdf5_close_dataset (dset_id)); @@ -1734,7 +1669,8 @@ h5tpriv_read_mesh ( m->num_loaded_levels = 1; TRY (h5tpriv_init_loc_elems_struct (m, glb_elems, 0, num_interior_elems, 0)); - TRY (h5tpriv_init_loc_elems_struct (m, ghost_elems, num_interior_elems, num_ghost_elems, H5_GHOST_ENTITY)); + TRY (h5tpriv_init_loc_elems_struct ( + m, ghost_elems, num_interior_elems, num_ghost_elems, H5_GHOST_ENTITY)); TRY (h5_free (glb_elems)); TRY (h5_free (ghost_elems)); @@ -1778,7 +1714,7 @@ h5tpriv_read_mesh ( H5_PRIV_API_RETURN (H5_SUCCESS); } #endif -#ifdef PARALLEL_IO +#ifdef WITH_PARALLEL_H5FED static h5_err_t read_octree ( h5t_mesh_t* m @@ -1873,7 +1809,8 @@ read_weights ( "__num_weights__", H5_INT32_T, &m->num_weights)); - TRY (m->weights = h5_calloc (m->num_weights * m->num_glb_elems[m->num_leaf_levels-1], sizeof (*m->weights))); + TRY (m->weights = + h5_calloc (m->num_weights * m->num_glb_elems[m->num_leaf_levels-1], sizeof (*m->weights))); if (m->num_weights < 1) { m->weights = NULL; } @@ -1891,7 +1828,10 @@ read_weights ( // check that weights are > 0 for (h5_glb_idx_t i = 0; i < m->num_weights * m->num_glb_elems[m->num_leaf_levels-1]; i++) { if (m->weights[i] < 1) { - h5_debug ("Warning: weight %d from elem %lld was %d ", (int) i%m->num_weights, (long long int) i/m->num_weights, m->weights[i]); + h5_debug ("Warning: weight %d from elem %lld was %d ", + (int) i%m->num_weights, + (long long int) i/m->num_weights, + m->weights[i]); m->weights[i] = 1; } @@ -1926,14 +1866,16 @@ read_chunks ( H5_INT16_T, &m->chunks->num_levels)); - TRY (m->chunks->num_chunks_p_level = h5_calloc (m->chunks->num_levels, sizeof (*m->chunks->num_chunks_p_level))); + TRY (m->chunks->num_chunks_p_level = + h5_calloc (m->chunks->num_levels, sizeof (*m->chunks->num_chunks_p_level))); TRY (h5priv_read_attrib ( m->mesh_gid, "__num_chk_p_level__", H5_INT32_T, m->chunks->num_chunks_p_level)); - TRY (m->chunks->chunks = h5_calloc (m->chunks->num_alloc, sizeof (*m->chunks->chunks))); + TRY (m->chunks->chunks = + h5_calloc (m->chunks->num_alloc, sizeof (*m->chunks->chunks))); TRY (h5priv_start_throttle (m->f)); @@ -1955,9 +1897,10 @@ read_chunks ( } /* - * get weights of octant (i.e. of all elements that belong to a chunk that belongs to the octant or its parents) - * for parent octants a factor is used. therefore the weight of an octant is divided equally onto it's children - */ + get weights of octant (i.e. of all elements that belong to a chunk that + belongs to the octant or its parents) for parent octants a factor is used. + therefore the weight of an octant is divided equally onto it's children +*/ static h5_err_t get_weights_of_octant ( @@ -2737,7 +2680,7 @@ h5tpriv_read_chunked_mesh ( h5t_mesh_t* const m ) { H5_PRIV_API_ENTER (h5_err_t, "m=%p", m); -#ifdef PARALLEL_IO +#ifdef WITH_PARALLEL_H5FED TRY (read_octree (m)); TRY (h5priv_mpi_barrier (m->f->props->comm)); @@ -2752,12 +2695,6 @@ h5tpriv_read_chunked_mesh ( } TRY (h5priv_mpi_barrier (m->f->props->comm)); m->timing.measure[m->timing.next_time++] = MPI_Wtime(); -// if (m->f->myproc == 0) { -// plot_leaf_octants(m->octree); -// sleep (30); -// } else { -// sleep (30); -// } h5_oct_idx_t* new_numbering = NULL; idx_t* weights = NULL; h5_oct_idx_t num_tot_leaf_oct = -1; diff --git a/src/h5core/h5t_store.c b/src/h5core/h5t_store.c index f29b05a..54d7794 100644 --- a/src/h5core/h5t_store.c +++ b/src/h5core/h5t_store.c @@ -24,8 +24,12 @@ #define MAX(a, b) (((a) > (b)) ? (a) : (b)) -int max_num_elems_p_chunk = 120; // minimum is 4 for triangle meshes and -// 8 for thetrahedral meshes +/* + maximum elements per chunk. + minimum is 4 for triangle meshes + and 8 for thetrahedral meshes + */ +int max_num_elems_p_chunk = 120; #ifdef PARALLEL_IO // that probably doesn't belong here... //TODO put in right place + print variables @@ -1097,6 +1101,7 @@ h5t_end_store_ckd_elems ( // /* mesh specific finalize */ // TRY (m->methods->store->end_store_elems (m)); } +#endif #endif H5_CORE_API_RETURN (H5_SUCCESS); } @@ -1217,7 +1222,9 @@ h5t_pre_refine_chk ( ) { H5_CORE_API_ENTER (h5_err_t, "m=%p", m); // exchange list of marked entities - TRY (*point_list = h5_calloc (m->num_glb_leaf_elems[m->leaf_level-1], sizeof (**point_list))); // alloc for maximal num elems to refine + TRY (*point_list = h5_calloc ( + // alloc for maximal num elems to refine + m->num_glb_leaf_elems[m->leaf_level-1], sizeof (**point_list))); TRY (h5priv_exchange_loc_list_to_glb (m, glb_list)); h5_glb_idxlist_t* glb_marked_entities = *glb_list; @@ -1225,12 +1232,15 @@ h5t_pre_refine_chk ( // decide which elements this proc has to refine TRY (h5tpriv_mark_chk_elems_to_refine (m, glb_marked_entities, *point_list)); - //TODO maybe check that sum of m->marked_entities->num_items over all proc is equal to glb_marked_entities->num_items - // this would find out if there is a problem with loading neighboring chunks... - - H5_CORE_API_RETURN (m->methods->store->pre_refine (m)); + /* + TODO maybe check that sum of m->marked_entities->num_items over + all proc is equal to glb_marked_entities->num_items this would + find out if there is a problem with loading neighboring chunks... + */ + H5_CORE_API_RETURN (m->methods->store->pre_refine (m)); } #endif + /* Refine previously marked elements. */ @@ -1259,7 +1269,9 @@ h5tpriv_get_ranges ( h5_glb_idx_t mycount, h5_glb_idx_t glb_start ) { - H5_PRIV_FUNC_ENTER (h5_err_t, "m=%p, range=%p, mycount=%lld, glb_start=%lld", m, range, (long long int) mycount, (long long int) glb_start); + H5_PRIV_FUNC_ENTER (h5_err_t, + "m=%p, range=%p, mycount=%lld, glb_start=%lld", + m, range, (long long int) mycount, (long long int) glb_start); TRY (h5priv_mpi_allgather ( &mycount, @@ -1318,8 +1330,8 @@ check_edge ( h5_glb_idxlist_t* glb_elems ) { H5_PRIV_FUNC_ENTER (h5_loc_idx_t, - "m=%p, face_idx=%lld, elem_idx=%lld, glb_elems=%p", - m, (long long)face_idx, (long long)elem_idx, glb_elems); + "m=%p, face_idx=%lld, elem_idx=%lld, glb_elems=%p", + m, (long long)face_idx, (long long)elem_idx, glb_elems); h5_loc_idlist_t* retval; // get all elements sharing the given edge TRY (h5tpriv_find_te2 (m, face_idx, elem_idx, &retval)); @@ -1412,7 +1424,12 @@ h5tpriv_find_boundary_edges ( // todo maybe put some part into another function. // get all elements sharing the given edge TRY (h5tpriv_find_te2 (m, j, elem_idx, &retval)); - // check if it is a border edge //TODO does not work yet since flags are not set properly but as long as we have all surounding elems it's not a problem -> i.e. tetrahedrals + /* + check if it is a border edge + TODO does not work yet since flags are not set + properly but as long as we have all surounding + elems it's not a problem -> i.e. tetrahedrals + */ if (retval->flags == H5_BORDER_ENTITY && 0) { // add to edgelist h5_glb_idx_t vertices[2]; @@ -1430,7 +1447,8 @@ h5tpriv_find_boundary_edges ( // todo maybe put some part into another function. h5_loc_idx_t loc_new_vtx = get_new_vtx_of_edge(m, retval->items[l]); assert (loc_new_vtx > -1); - TRY (h5tpriv_add_edge_list (list ,vertices[0], vertices[1], loc_new_vtx, m->f->myproc)); + TRY (h5tpriv_add_edge_list ( + list ,vertices[0], vertices[1], loc_new_vtx, m->f->myproc)); continue; } // check if one of the neighbors (locally available) was refined on a different proc