1#ifndef __CS_MATRIX_PRIV_H__
2#define __CS_MATRIX_PRIV_H__
81(cs_matrix_vector_product_t) (
bool exclude_diag,
98typedef struct _cs_matrix_struct_native_t {
110} cs_matrix_struct_native_t;
115typedef struct _cs_matrix_coeff_native_t {
131} cs_matrix_coeff_native_t;
136typedef struct _cs_matrix_struct_csr_t {
144 bool direct_assembly;
155} cs_matrix_struct_csr_t;
160typedef struct _cs_matrix_coeff_csr_t {
177} cs_matrix_coeff_csr_t;
182typedef struct _cs_matrix_struct_csr_sym_t {
191 bool direct_assembly;
199} cs_matrix_struct_csr_sym_t;
204typedef struct _cs_matrix_coeff_csr_sym_t {
215} cs_matrix_coeff_csr_sym_t;
220typedef struct _cs_matrix_coeff_msr_t {
236} cs_matrix_coeff_msr_t;
241struct _cs_matrix_structure_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;
331struct _cs_matrix_variant_t {
344 double matrix_create_cost;
370cs_matrix_coeff_csr_t *
431#if defined (HAVE_MKL)
443cs_matrix_vec_p_l_csr_mkl(
bool exclude_diag,
469cs_matrix_coeff_msr_t *
498#if defined (HAVE_MKL)
510cs_matrix_vec_p_l_msr_mkl(
bool exclude_diag,
#define restrict
Definition cs_defs.h:127
#define BEGIN_C_DECLS
Definition cs_defs.h:467
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
int cs_lnum_2_t[2]
vector of 2 local mesh-entity ids
Definition cs_defs.h:308
#define END_C_DECLS
Definition cs_defs.h:468
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:298
struct _cs_matrix_t cs_matrix_t
Definition cs_matrix.h:90
cs_matrix_fill_type_t
Definition cs_matrix.h:67
@ CS_MATRIX_N_FILL_TYPES
Definition cs_matrix.h:80
cs_matrix_type_t
Definition cs_matrix.h:55
struct _cs_matrix_assembler_t cs_matrix_assembler_t
Definition cs_matrix_assembler.h:61
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_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_copy_diagonal_separate(const cs_matrix_t *matrix, cs_real_t *restrict da)
void cs_matrix_destroy_struct_csr(cs_matrix_struct_csr_t **matrix)
void cs_matrix_release_coeffs_msr(cs_matrix_t *matrix)
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)
void cs_matrix_release_coeffs_csr(cs_matrix_t *matrix)
cs_matrix_coeff_msr_t * cs_matrix_create_coeff_msr(void)
cs_matrix_coeff_csr_t * cs_matrix_create_coeff_csr(void)
void cs_matrix_copy_diagonal_csr(const cs_matrix_t *matrix, cs_real_t *restrict da)
void cs_matrix_destroy_coeff_csr(cs_matrix_coeff_csr_t **coeff)
Definition cs_numbering.h:83