1 #ifndef __CS_MATRIX_PRIV_H__ 2 #define __CS_MATRIX_PRIV_H__ 80 (cs_matrix_vector_product_t) (
bool exclude_diag,
97 typedef struct _cs_matrix_struct_native_t {
109 } cs_matrix_struct_native_t;
114 typedef struct _cs_matrix_coeff_native_t {
130 } cs_matrix_coeff_native_t;
135 typedef struct _cs_matrix_struct_csr_t {
143 bool direct_assembly;
154 } cs_matrix_struct_csr_t;
159 typedef struct _cs_matrix_coeff_csr_t {
176 } cs_matrix_coeff_csr_t;
181 typedef struct _cs_matrix_struct_csr_sym_t {
190 bool direct_assembly;
198 } cs_matrix_struct_csr_sym_t;
203 typedef struct _cs_matrix_coeff_csr_sym_t {
214 } cs_matrix_coeff_csr_sym_t;
219 typedef struct _cs_matrix_coeff_msr_t {
234 } cs_matrix_coeff_msr_t;
239 struct _cs_matrix_structure_t {
262 struct _cs_matrix_t {
287 const void *structure;
311 cs_matrix_set_coeffs_t *set_coefficients;
312 cs_matrix_release_coeffs_t *release_coefficients;
313 cs_matrix_copy_diagonal_t *copy_diagonal;
325 struct _cs_matrix_variant_t {
338 double matrix_create_cost;
364 cs_matrix_coeff_csr_t *
425 #if defined (HAVE_MKL) 437 cs_matrix_vec_p_l_csr_mkl(
bool exclude_diag,
463 cs_matrix_coeff_msr_t *
492 #if defined (HAVE_MKL) 504 cs_matrix_vec_p_l_msr_mkl(
bool exclude_diag,
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:280
#define restrict
Definition: cs_defs.h:122
void cs_matrix_copy_diagonal_separate(const cs_matrix_t *matrix, cs_real_t *restrict da)
cs_matrix_coeff_csr_t * cs_matrix_create_coeff_csr(void)
#define BEGIN_C_DECLS
Definition: cs_defs.h:448
Definition: cs_matrix.h:79
void cs_matrix_copy_diagonal_csr(const cs_matrix_t *matrix, cs_real_t *restrict da)
void cs_matrix_release_coeffs_csr(cs_matrix_t *matrix)
double cs_real_t
Floating-point value.
Definition: cs_defs.h:296
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
void cs_matrix_release_coeffs_msr(cs_matrix_t *matrix)
struct _cs_matrix_t cs_matrix_t
Definition: cs_matrix.h:89
void cs_matrix_destroy_coeff_csr(cs_matrix_coeff_csr_t **coeff)
cs_matrix_coeff_msr_t * cs_matrix_create_coeff_msr(void)
void cs_matrix_vec_p_l_msr(bool exclude_diag, const cs_matrix_t *matrix, const cs_real_t *restrict x, cs_real_t *restrict y)
void cs_matrix_vec_p_l_csr(bool exclude_diag, const cs_matrix_t *matrix, const cs_real_t *restrict x, cs_real_t *restrict y)
cs_matrix_type_t
Definition: cs_matrix.h:54
int cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition: cs_defs.h:302
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
#define END_C_DECLS
Definition: cs_defs.h:449
Definition: cs_numbering.h:78
void cs_matrix_destroy_struct_csr(cs_matrix_struct_csr_t **matrix)
cs_matrix_fill_type_t
Definition: cs_matrix.h:66