1 #ifndef __CS_MATRIX_ASSEMBLER_PRIV_H__ 2 #define __CS_MATRIX_ASSEMBLER_PRIV_H__ 69 struct _cs_matrix_assembler_t {
151 struct _cs_matrix_assembler_values_t {
178 #if defined(HAVE_MPI) 218 _l_id_binary_search(
cs_lnum_t l_id_array_size,
222 if (l_id_array_size < 1)
228 while (start_id < end_id) {
229 if (l_id_array[mid_id] < l_id)
230 start_id = mid_id + 1;
231 else if (l_id_array[mid_id] > l_id)
235 mid_id = start_id + (end_id - start_id)/2;
237 if (l_id_array[mid_id] != l_id)
259 _g_id_binary_find(
cs_lnum_t g_id_array_size,
265 cs_lnum_t mid_id = (end_id -start_id) / 2;
266 while (start_id < end_id) {
267 if (g_id_array[mid_id] < g_id)
268 start_id = mid_id + 1;
269 else if (g_id_array[mid_id] > g_id)
273 mid_id = start_id + ((end_id -start_id) / 2);
275 assert(g_id_array[mid_id] == g_id);
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:301
void() cs_matrix_assembler_values_end_t(void *matrix)
Function pointer to complete the final assembly of matrix coefficients.
Definition: cs_matrix_assembler.h:226
#define BEGIN_C_DECLS
Definition: cs_defs.h:510
void() cs_matrix_assembler_values_add_g_t(void *matrix, cs_lnum_t n, cs_lnum_t stride, const cs_gnum_t row_g_id[], const cs_gnum_t col_g_id[], const cs_real_t vals[])
Function pointer for addition to matrix coefficients using global row ids and column indexes...
Definition: cs_matrix_assembler.h:188
double cs_real_t
Floating-point value.
Definition: cs_defs.h:322
void matrix(const int *iconvp, const int *idiffp, const int *ndircp, const int *isym, const cs_real_t *thetap, const int *imucpp, const cs_real_t coefbp[], const cs_real_t cofbfp[], const cs_real_t rovsdt[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t da[], cs_real_t xa[])
Definition: cs_matrix_building.c:111
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:316
#define END_C_DECLS
Definition: cs_defs.h:511
struct _cs_matrix_assembler_t cs_matrix_assembler_t
Definition: cs_matrix_assembler.h:61
void() cs_matrix_assembler_values_init_t(void *matrix, const cs_lnum_t *db_size, const cs_lnum_t *eb_size)
Function pointer for initialization of matrix coefficients using local row ids and column indexes...
Definition: cs_matrix_assembler.h:84
void() cs_matrix_assembler_values_add_t(void *matrix, cs_lnum_t n, cs_lnum_t stride, const cs_lnum_t row_id[], const cs_lnum_t col_idx[], const cs_real_t vals[])
Function pointer for addition to matrix coefficients using local row ids and column indexes...
Definition: cs_matrix_assembler.h:116
void() cs_matrix_assembler_values_begin_t(void *matrix)
Function pointer to start the final assembly of matrix coefficients.
Definition: cs_matrix_assembler.h:209