1 #ifndef __CS_MATRIX_PRIV_H__ 2 #define __CS_MATRIX_PRIV_H__ 81 (cs_matrix_vector_product_t) (
bool exclude_diag,
98 typedef struct _cs_matrix_struct_native_t {
110 } cs_matrix_struct_native_t;
115 typedef struct _cs_matrix_coeff_native_t {
131 } cs_matrix_coeff_native_t;
136 typedef struct _cs_matrix_struct_csr_t {
144 bool direct_assembly;
155 } cs_matrix_struct_csr_t;
160 typedef struct _cs_matrix_coeff_csr_t {
177 } cs_matrix_coeff_csr_t;
182 typedef struct _cs_matrix_struct_csr_sym_t {
191 bool direct_assembly;
199 } cs_matrix_struct_csr_sym_t;
204 typedef struct _cs_matrix_coeff_csr_sym_t {
215 } cs_matrix_coeff_csr_sym_t;
220 typedef struct _cs_matrix_coeff_msr_t {
236 } cs_matrix_coeff_msr_t;
241 struct _cs_matrix_structure_t {
265 struct _cs_matrix_t {
290 const void *structure;
317 cs_matrix_set_coeffs_t *set_coefficients;
318 cs_matrix_release_coeffs_t *release_coefficients;
319 cs_matrix_copy_diagonal_t *copy_diagonal;
331 struct _cs_matrix_variant_t {
340 cs_matrix_vector_product_t *vector_multiply[2];
356 cs_matrix_coeff_csr_t *
417 #if defined (HAVE_MKL) 429 cs_matrix_vec_p_l_csr_mkl(
bool exclude_diag,
455 cs_matrix_coeff_msr_t *
484 #if defined (HAVE_MKL) 496 cs_matrix_vec_p_l_msr_mkl(
bool exclude_diag,
#define restrict
Definition: cs_defs.h:127
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:495
Definition: cs_matrix.h:84
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:307
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:112
void cs_matrix_release_coeffs_msr(cs_matrix_t *matrix)
struct _cs_matrix_t cs_matrix_t
Definition: cs_matrix.h:94
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:55
cs_lnum_t cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition: cs_defs.h:313
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:301
#define END_C_DECLS
Definition: cs_defs.h:496
struct _cs_matrix_assembler_t cs_matrix_assembler_t
Definition: cs_matrix_assembler.h:61
Definition: cs_numbering.h:83
void cs_matrix_destroy_struct_csr(cs_matrix_struct_csr_t **matrix)
cs_matrix_fill_type_t
Definition: cs_matrix.h:71