|
cs_mesh_t * | cs_mesh_create (void) |
|
cs_mesh_t * | cs_mesh_destroy (cs_mesh_t *mesh) |
|
void | cs_mesh_reinit (cs_mesh_t *mesh) |
|
cs_gnum_t | cs_mesh_compact_gnum (cs_lnum_t n_elts, cs_gnum_t *elt_gnum) |
|
void | cs_mesh_free_rebuildable (cs_mesh_t *mesh, bool free_halos) |
|
void | cs_mesh_discard_free_faces (cs_mesh_t *mesh) |
|
void | cs_mesh_discard_free_vertices (cs_mesh_t *mesh) |
|
void | cs_mesh_discard_refinement_info (cs_mesh_t *mesh) |
| Discard mesh refinement info. More...
|
|
void | cs_mesh_g_face_vertices_sizes (const cs_mesh_t *mesh, cs_gnum_t *g_i_face_vertices_size, cs_gnum_t *g_b_face_vertices_size) |
|
void | cs_mesh_update_b_cells (cs_mesh_t *mesh) |
|
void | cs_mesh_update_auxiliary (cs_mesh_t *mesh) |
|
void | cs_mesh_init_halo (cs_mesh_t *mesh, cs_mesh_builder_t *mb, cs_halo_type_t halo_type, int verbosity, bool rebuild_vtx_interface) |
|
cs_gnum_t | cs_mesh_n_g_ghost_cells (cs_mesh_t *mesh) |
|
void | cs_mesh_clean_families (cs_mesh_t *mesh) |
|
fvm_group_class_set_t * | cs_mesh_create_group_classes (cs_mesh_t *mesh) |
|
void | cs_mesh_init_group_classes (cs_mesh_t *mesh) |
|
void | cs_mesh_init_selectors (void) |
|
void | cs_mesh_update_selectors (cs_mesh_t *mesh) |
|
void | cs_mesh_sync_var_scal (cs_real_t *var) |
|
void | cs_mesh_sync_var_scal_ext (cs_real_t *var) |
|
void | cs_mesh_sync_var_vect (cs_real_t *var) |
|
void | cs_mesh_sync_var_sym_tens (cs_real_6_t *var) |
|
void | cs_mesh_get_perio_faces (const cs_mesh_t *mesh, cs_lnum_t **n_perio_face_couples, cs_gnum_t ***perio_face_couples) |
|
cs_gnum_t * | cs_mesh_get_cell_gnum (const cs_mesh_t *mesh, int blank_perio) |
|
void | cs_mesh_get_face_perio_num (const cs_mesh_t *mesh, int perio_num[]) |
|
void | cs_mesh_tag_boundary_cells (cs_mesh_t *mesh, int cell_b_flag[]) |
| Mark cells adjacent to boundary, through faces or vertices. More...
|
|
void | cs_mesh_print_info (const cs_mesh_t *mesh, const char *name) |
|
void | cs_mesh_selector_stats (cs_mesh_t *mesh) |
|
void | cs_mesh_dump (const cs_mesh_t *mesh) |
|
void | cs_mesh_i_faces_thread_block_count (const cs_mesh_t *m, const cs_e2n_sum_t e2n, int block_size, int *n_groups, int *n_blocks) |
| Determine number of blocks and associated groups to be used for loops on interior faces. More...
|
|
void | cs_mesh_i_faces_thread_block_range (const cs_mesh_t *m, const cs_e2n_sum_t e2n, int group_id, int block_id, int block_count, int block_size, cs_lnum_t *s_id, cs_lnum_t *e_id) |
| Compute array index bounds for a block of interior faces associated to a thread or task. More...
|
|
Compute array index bounds for a block of interior faces associated to a thread or task.
When the CS_E2N_SUM_SCATTER indexed sum algorithmm is used and mesh interior faces are renumbered for threads, the bounds provided are those based on the matching group and thread.
In other cases, if block_size < 1 (i.e. not specified), the start and past-the-end indexes are defined so as to evenly distribute values to threads, in a manner similar to OpenMP schedule(static)
. With a block size larger than zero, indexes will be simply based on the block's start and past-the end index.
- Parameters
-
[in] | m | pointer to mesh |
[in] | e2n | associated indexed sum algorithm type. |
[in] | group_id | group id |
[in] | block_id | block id (relative to group) |
[in] | block_count | number of blocks |
[in] | block_size | size of blocks (chunks) if > 0, ignored (recomputed) if 0 |
[in,out] | s_id | start index for the current block |
[in,out] | e_id | past-the-end index for the current block |