1 #ifndef __CS_RANK_NEIGHBORS_H__
2 #define __CS_RANK_NEIGHBORS_H__
101 const int elt_rank[]);
133 const int elt_rank[],
134 int *elt_rank_index);
169 const int *elt_rank_index,
#define BEGIN_C_DECLS
Definition: cs_defs.h:509
#define END_C_DECLS
Definition: cs_defs.h:510
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
@ t
Definition: cs_field_pointer.h:92
cs_rank_neighbors_t * cs_rank_neighbors_create(size_t n_elts, const int elt_rank[])
Create a rank neighbors structure base on a list of element ranks.
Definition: cs_rank_neighbors.c:344
void cs_rank_neighbors_set_exchange_type(cs_rank_neighbors_exchange_t t)
Set current type of rank neighbors collective algorithm choice.
Definition: cs_rank_neighbors.c:1025
void cs_rank_neighbors_destroy(cs_rank_neighbors_t **n)
Destroy a rank neighborhood structure.
Definition: cs_rank_neighbors.c:389
void cs_rank_neighbors_to_index(const cs_rank_neighbors_t *n, size_t n_elts, const int elt_rank[], int *elt_rank_index)
Given a list of element ranks, determine the associated element rank indexes in a rank neighborhood s...
Definition: cs_rank_neighbors.c:425
void cs_rank_neighbors_sync_count_m(const cs_rank_neighbors_t *n_send, cs_rank_neighbors_t **n_recv, const cs_lnum_t *send_count, cs_lnum_t **recv_count, cs_rank_neighbors_exchange_t exchange_type, MPI_Comm comm)
Exchange send and receive counts for rank neighborhoods, using a given method.
Definition: cs_rank_neighbors.c:792
void cs_rank_neighbors_symmetrize(cs_rank_neighbors_t *n, MPI_Comm comm)
Symmetrize a rank neighborhood structure.
Definition: cs_rank_neighbors.c:511
void cs_rank_neighbors_count(const cs_rank_neighbors_t *n, size_t n_elts, const int *elt_rank_index, cs_lnum_t *elt_rank_count)
Given a list of element rank indexes, count occurences for a rank neighborhood structure.
Definition: cs_rank_neighbors.c:717
const char * cs_rank_neighbors_exchange_name[]
cs_rank_neighbors_exchange_t cs_rank_neighbors_get_exchange_type(void)
Get current type of rank neighbors collective algorithm choice.
Definition: cs_rank_neighbors.c:1011
cs_rank_neighbors_exchange_t
Definition: cs_rank_neighbors.h:55
@ CS_RANK_NEIGHBORS_PEX
Definition: cs_rank_neighbors.h:57
@ CS_RANK_NEIGHBORS_NBX
Definition: cs_rank_neighbors.h:58
@ CS_RANK_NEIGHBORS_CRYSTAL_ROUTER
Definition: cs_rank_neighbors.h:59
void cs_rank_neighbors_sync_count(const cs_rank_neighbors_t *n_send, cs_rank_neighbors_t **n_recv, const cs_lnum_t *send_count, cs_lnum_t **recv_count, MPI_Comm comm)
Exchange send and receive counts for rank neighborhoods.
Definition: cs_rank_neighbors.c:760
Definition: cs_rank_neighbors.h:67
int size
Definition: cs_rank_neighbors.h:69
int * rank
Definition: cs_rank_neighbors.h:70