1 #ifndef __CS_INTERFACE_H__
2 #define __CS_INTERFACE_H__
217 int n_periodic_lists,
218 const int periodicity_num[],
220 const cs_gnum_t *
const periodic_couples[]);
cs_datatype_t
Definition: cs_defs.h:272
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:298
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
void cs_interface_tag_local_matches(const cs_interface_t *itf, const fvm_periodicity_t *periodicity, int tr_ignore, cs_gnum_t tag_value, cs_gnum_t *tag)
Tag mutiple elements of local interface with a given values.
Definition: cs_interface.c:6035
void cs_interface_set_copy_indexed(const cs_interface_set_t *ifs, cs_datatype_t datatype, bool src_on_parent, const cs_lnum_t src_index[], const cs_lnum_t dest_index[], const void *src, void *dest)
Copy indexed array from distant or matching interface elements to local elements.
Definition: cs_interface.c:4217
int cs_interface_set_size(const cs_interface_set_t *ifs)
Return number of interfaces associated with an interface set.
Definition: cs_interface.c:3849
void cs_interface_set_renumber(cs_interface_set_t *ifs, const cs_lnum_t old_to_new[])
Apply renumbering of elements referenced by an interface set.
Definition: cs_interface.c:3945
void cs_interface_set_sum(const cs_interface_set_t *ifs, cs_lnum_t n_elts, cs_lnum_t stride, bool interlace, cs_datatype_t datatype, void *var)
Update the sum of values for elements associated with an interface set.
Definition: cs_interface.c:4612
void cs_interface_set_max_tr(const cs_interface_set_t *ifs, cs_lnum_t n_elts, cs_lnum_t stride, bool interlace, cs_datatype_t datatype, int tr_ignore, void *var)
Update the maximum of values for elements associated with an interface set, allowing control over per...
Definition: cs_interface.c:5584
const fvm_periodicity_t * cs_interface_set_periodicity(const cs_interface_set_t *ifs)
Return pointer to the periocicity structure associated of an interface set.
Definition: cs_interface.c:3922
void cs_interface_set_inclusive_or(const cs_interface_set_t *ifs, cs_lnum_t n_elts, cs_lnum_t stride, bool interlace, cs_datatype_t datatype, void *var)
Update values using the bitwise inclusive or operation for elements associated with an interface set.
Definition: cs_interface.c:4410
const cs_lnum_t * cs_interface_get_elt_ids(const cs_interface_t *itf)
Return pointer to array of local element ids defining an interface.
Definition: cs_interface.c:3388
cs_interface_set_t * cs_interface_set_create(cs_lnum_t n_elts, const cs_lnum_t parent_element_id[], const cs_gnum_t global_number[], const fvm_periodicity_t *periodicity, int n_periodic_lists, const int periodicity_num[], const cs_lnum_t n_periodic_couples[], const cs_gnum_t *const periodic_couples[])
Creation of a list of interfaces between elements of a same type.
Definition: cs_interface.c:3520
void cs_interface_set_dump(const cs_interface_set_t *ifs)
Dump printout of an interface list.
Definition: cs_interface.c:6095
cs_lnum_t cs_interface_size(const cs_interface_t *itf)
Return number of local and distant elements defining an interface.
Definition: cs_interface.c:3362
cs_interface_set_t * cs_interface_set_dup_blocks(cs_interface_set_t *ifs, cs_lnum_t block_size, cs_lnum_t n_blocks)
Duplicate an interface set for coupled variable blocks.
Definition: cs_interface.c:3717
void cs_interface_set_destroy(cs_interface_set_t **ifs)
Destruction of an interface set.
Definition: cs_interface.c:3624
int cs_interface_rank(const cs_interface_t *itf)
Return process rank associated with an interface's distant elements.
Definition: cs_interface.c:3341
void cs_interface_set_free_match_ids(cs_interface_set_t *ifs)
Free matching element id information of an interface set.
Definition: cs_interface.c:6000
const cs_interface_t * cs_interface_set_get(const cs_interface_set_t *ifs, int interface_id)
Return pointer to a given interface in an interface set.
Definition: cs_interface.c:3897
void cs_interface_set_copy_array(const cs_interface_set_t *ifs, cs_datatype_t datatype, int stride, bool src_on_parent, const void *src, void *dest)
Copy array from distant or matching interface elements to local elements.
Definition: cs_interface.c:4050
struct _cs_interface_set_t cs_interface_set_t
Definition: cs_interface.h:61
void cs_interface_set_min(const cs_interface_set_t *ifs, cs_lnum_t n_elts, cs_lnum_t stride, bool interlace, cs_datatype_t datatype, void *var)
Update the minimum value of elements associated with an interface set.
Definition: cs_interface.c:5054
void cs_interface_set_add_match_ids(cs_interface_set_t *ifs)
Add matching element id information to an interface set.
Definition: cs_interface.c:5875
struct _cs_interface_t cs_interface_t
Definition: cs_interface.h:60
cs_lnum_t cs_interface_set_n_elts(const cs_interface_set_t *ifs)
Return total number of elements in interface set.
Definition: cs_interface.c:3873
const cs_lnum_t * cs_interface_get_tr_index(const cs_interface_t *itf)
Return pointer to index of sub-sections for different transformations.
Definition: cs_interface.c:3470
cs_interface_set_t * cs_interface_set_dup(const cs_interface_set_t *ifs, cs_lnum_t stride)
Duplicate an interface set, applying an optional constant stride.
Definition: cs_interface.c:3651
cs_lnum_t cs_interface_get_tr_index_size(const cs_interface_t *itf)
Return size of index of sub-sections for different transformations.
Definition: cs_interface.c:3444
void cs_interface_set_sum_tr(const cs_interface_set_t *ifs, cs_lnum_t n_elts, cs_lnum_t stride, bool interlace, cs_datatype_t datatype, int tr_ignore, void *var)
Update the sum of values for elements associated with an interface set, allowing control over periodi...
Definition: cs_interface.c:4862
void cs_interface_set_max(const cs_interface_set_t *ifs, cs_lnum_t n_elts, cs_lnum_t stride, bool interlace, cs_datatype_t datatype, void *var)
Update the maximum value of elements associated with an interface set.
Definition: cs_interface.c:5318
const cs_lnum_t * cs_interface_get_match_ids(const cs_interface_t *itf)
Return pointer to array of matching element ids defining an interface.
Definition: cs_interface.c:3417
struct _fvm_periodicity_t fvm_periodicity_t
Definition: fvm_periodicity.h:67