|
My Project
programmer's documentation
|
Go to the documentation of this file. 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);
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
#define END_C_DECLS
Definition: cs_defs.h:468
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:286
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_end_t(void *matrix)
Function pointer to complete the final assembly of matrix coefficients.
Definition: cs_matrix_assembler.h:226
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
void const cs_int_t *const init
Definition: cs_convection_diffusion.h:5386
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
struct _cs_matrix_assembler_t cs_matrix_assembler_t
Definition: cs_matrix_assembler.h:61
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