1 #ifndef __CS_MATRIX_H__
2 #define __CS_MATRIX_H__
307 const int *diag_block_size,
308 const int *extra_diag_block_size,
355 const int *diag_block_size,
356 const int *extra_diag_block_size,
498 double fill_weights[],
const int * cs_matrix_get_diag_block_size(const cs_matrix_t *matrix)
Definition: cs_matrix.c:5254
unsigned cs_gnum_t
global mesh entity number
Definition: cs_defs.h:287
#define restrict
Definition: cs_defs.h:122
void cs_matrix_vector_multiply(cs_halo_rotation_t rotation_mode, const cs_matrix_t *matrix, cs_real_t *restrict x, cs_real_t *restrict y)
Definition: cs_matrix.c:5617
cs_halo_rotation_t
Definition: cs_halo.h:59
void promav(const cs_int_t *isym, const cs_int_t *ibsize, const cs_int_t *iesize, const cs_int_t *iinvpe, const cs_real_t *dam, const cs_real_t *xam, cs_real_t *vx, cs_real_t *vy)
Definition: cs_matrix.c:4677
void cs_matrix_copy_coefficients(cs_matrix_t *matrix, bool symmetric, const int *diag_block_size, const int *extra_diag_block_size, const cs_real_t *da, const cs_real_t *xa)
Definition: cs_matrix.c:5403
Definition: cs_matrix.h:72
void cs_matrix_update_mesh(void)
Definition: cs_matrix.c:4778
cs_matrix_t * cs_matrix_create(const cs_matrix_structure_t *ms)
Definition: cs_matrix.c:4966
struct _cs_matrix_variant_t cs_matrix_variant_t
Definition: cs_matrix.h:90
cs_matrix_t * cs_glob_matrix_default
Definition: cs_matrix.c:163
#define BEGIN_C_DECLS
Definition: cs_defs.h:403
void cs_matrix_release_coefficients(cs_matrix_t *matrix)
Definition: cs_matrix.c:5469
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:295
cs_matrix_structure_t * cs_matrix_structure_create(cs_matrix_type_t type, bool have_diag, cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_gnum_t *cell_num, const cs_lnum_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)
Definition: cs_matrix.c:4833
Definition: cs_matrix.h:76
void cs_matrix_set_coefficients_ni(cs_matrix_t *matrix, bool symmetric, const cs_real_t *da, const cs_real_t *xa)
Definition: cs_matrix.c:5355
void cs_matrix_variant_test(cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_gnum_t *cell_num, const cs_lnum_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)
Definition: cs_matrix.c:6054
void cs_matrix_structure_destroy(cs_matrix_structure_t **ms)
Definition: cs_matrix.c:4909
void cs_matrix_copy_diagonal(const cs_matrix_t *matrix, cs_real_t *restrict da)
Definition: cs_matrix.c:5497
const char * cs_matrix_type_fullname[]
Definition: cs_matrix.c:135
struct _cs_matrix_t cs_matrix_t
Definition: cs_matrix.h:86
void cs_matrix_initialize(void)
Definition: cs_matrix.c:4741
cs_matrix_structure_t * cs_glob_matrix_default_struct
Definition: cs_matrix.c:164
const char * cs_matrix_type_name[]
Definition: cs_matrix.c:127
subroutine matrix(ncelet, ncel, nfac, nfabor, iconvp, idiffp, ndircp, isym, nfecra, thetap, imucpp, ifacel, ifabor, coefbp, cofbfp, rovsdt, flumas, flumab, viscf, viscb, xcpp, da, xa)
Definition: matrix.f90:85
Definition: cs_matrix.h:70
Definition: cs_matrix.h:60
cs_matrix_type_t
Definition: cs_matrix.h:54
void cs_matrix_set_coefficients(cs_matrix_t *matrix, bool symmetric, const int *diag_block_size, const int *extra_diag_block_size, const cs_real_t *da, const cs_real_t *xa)
Definition: cs_matrix.c:5287
Definition: cs_matrix.h:68
Definition: cs_matrix.h:58
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
cs_lnum_t cs_matrix_get_n_columns(const cs_matrix_t *matrix)
Definition: cs_matrix.c:5215
void cs_matrix_destroy(cs_matrix_t **matrix)
Definition: cs_matrix.c:5160
#define END_C_DECLS
Definition: cs_defs.h:404
void cs_matrix_variant_destroy(cs_matrix_variant_t **mv)
Definition: cs_matrix.c:6018
double cs_real_t
Definition: cs_defs.h:296
Definition: cs_matrix.h:74
#define CS_PROCF(x, y)
Definition: cs_defs.h:417
void cs_matrix_exdiag_vector_multiply(cs_halo_rotation_t rotation_mode, const cs_matrix_t *matrix, cs_real_t *restrict x, cs_real_t *restrict y)
Definition: cs_matrix.c:5678
cs_matrix_variant_t * cs_matrix_variant_tuned(double t_measure, int n_fill_types, cs_matrix_fill_type_t fill_types[], double fill_weights[], int n_min_products, cs_lnum_t n_cells, cs_lnum_t n_cells_ext, cs_lnum_t n_faces, const cs_gnum_t *cell_num, const cs_lnum_t *face_cell, const cs_halo_t *halo, const cs_numbering_t *numbering)
Definition: cs_matrix.c:5731
Definition: cs_matrix.h:59
cs_matrix_t * cs_matrix_create_tuned(const cs_matrix_structure_t *ms, const cs_matrix_variant_t *mv)
Definition: cs_matrix.c:5133
Definition: cs_matrix.h:57
cs_lnum_t cs_matrix_get_n_rows(const cs_matrix_t *matrix)
Definition: cs_matrix.c:5231
const cs_real_t * cs_matrix_get_diagonal(const cs_matrix_t *matrix)
Definition: cs_matrix.c:5524
void cs_matrix_finalize(void)
Definition: cs_matrix.c:4767
Definition: cs_matrix.h:56
Definition: cs_matrix.h:69
cs_matrix_type_t cs_matrix_variant_type(const cs_matrix_variant_t *mv)
Definition: cs_matrix.c:6032
void cs_matrix_vector_multiply_nosync(const cs_matrix_t *matrix, const cs_real_t *x, cs_real_t *restrict y)
Definition: cs_matrix.c:5652
Definition: cs_numbering.h:61
struct _cs_matrix_structure_t cs_matrix_structure_t
Definition: cs_matrix.h:82
cs_matrix_fill_type_t
Definition: cs_matrix.h:66