1 #ifndef __CS_CDO_ASSEMBLY_H__
2 #define __CS_CDO_ASSEMBLY_H__
52 #define CS_CDO_ASSEMBLY_BUFSIZE 200
81 cs_cdo_assembly_t *eqa,
217 cs_cdo_assembly_t *asb,
238 cs_cdo_assembly_t *asb,
241 #if defined(HAVE_MPI)
256 cs_cdo_assembly_matrix_mpit(
const cs_sdm_t *m,
259 cs_cdo_assembly_t *asb,
276 cs_cdo_assembly_matrix_mpis(
const cs_sdm_t *m,
279 cs_cdo_assembly_t *asb,
300 cs_cdo_assembly_t *asb,
321 cs_cdo_assembly_t *asb,
343 cs_cdo_assembly_t *asb,
365 cs_cdo_assembly_t *asb,
368 #if defined(HAVE_MPI)
383 cs_cdo_assembly_matrix_sys_mpis(
const cs_sdm_t *m,
386 cs_cdo_assembly_t *asb,
403 cs_cdo_assembly_matrix_sys_mpit(
const cs_sdm_t *m,
406 cs_cdo_assembly_t *asb,
428 cs_cdo_assembly_t *asb,
449 cs_cdo_assembly_t *asb,
452 #if defined(HAVE_MPI)
468 cs_cdo_assembly_eblock33_matrix_mpis(
const cs_sdm_t *m,
471 cs_cdo_assembly_t *asb,
489 cs_cdo_assembly_eblock33_matrix_mpit(
const cs_sdm_t *m,
492 cs_cdo_assembly_t *asb,
514 cs_cdo_assembly_t *asb,
535 cs_cdo_assembly_t *asb,
538 #if defined(HAVE_MPI)
554 cs_cdo_assembly_block33_matrix_mpis(
const cs_sdm_t *m,
557 cs_cdo_assembly_t *asb,
575 cs_cdo_assembly_block33_matrix_mpit(
const cs_sdm_t *m,
578 cs_cdo_assembly_t *asb,
600 cs_cdo_assembly_t *asb,
621 cs_cdo_assembly_t *asb,
624 #if defined(HAVE_MPI)
640 cs_cdo_assembly_eblock_matrix_mpis(
const cs_sdm_t *m,
643 cs_cdo_assembly_t *asb,
661 cs_cdo_assembly_eblock_matrix_mpit(
const cs_sdm_t *m,
664 cs_cdo_assembly_t *asb,
void cs_cdo_assembly_matrix_e33_generic(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix. Rely on the generic cs_matrix_assembler_values_add...
Definition: cs_cdo_assembly.c:1596
void cs_cdo_assembly_set_shift(cs_cdo_assembly_t *asb, cs_lnum_t l_row_shift, cs_lnum_t l_col_shift)
Set the current shift values to consider during the assembly stage.
Definition: cs_cdo_assembly.c:1382
void cs_cdo_assembly_setup_log(void)
Print information for the setup.log file.
Definition: cs_cdo_assembly.c:1282
void cs_cdo_assembly_matrix_seqs(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix Scalar-valued case. Sequential and without openMP (...
Definition: cs_cdo_assembly.c:1832
cs_cdo_assembly_t * cs_cdo_assembly_get(int t_id)
Get a pointer to a cs_cdo_assembly_t structure related to a given thread.
Definition: cs_cdo_assembly.c:1302
void cs_cdo_assembly_matrix_sys_seqt(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise (no-block) matrix into the global matrix corresponding to a system of coupled equ...
Definition: cs_cdo_assembly.c:1971
void cs_cdo_assembly_matrix_sys_seqs(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise (no-block) matrix into the global matrix corresponding to a system of coupled equ...
Definition: cs_cdo_assembly.c:1880
void cs_cdo_assembly_eblock33_matrix_seqt(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix. Case of a block 3x3 entries. Expand each row....
Definition: cs_cdo_assembly.c:2357
void cs_cdo_assembly_block33_matrix_seqt(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix. Case of a block 3x3 entries. Expand each row....
Definition: cs_cdo_assembly.c:2668
void cs_cdo_assembly_eblock_matrix_seqs(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix Case of a block NxN entries. Expand each row....
Definition: cs_cdo_assembly.c:2922
void cs_cdo_assembly_init(int ddim, int edim, int n_cw_dofs)
Allocate cs_cdo_assembly_t structure (shared among schemes). Each thread has its own copy this struct...
Definition: cs_cdo_assembly.c:1323
void cs_cdo_assembly_block33_matrix_seqs(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix. Case of a block 3x3 entries. Expand each row....
Definition: cs_cdo_assembly.c:2592
void cs_cdo_assembly_matrix_seqt(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix. Scalar-valued case. Sequential and with openMP thr...
Definition: cs_cdo_assembly.c:1780
void cs_cdo_assembly_eblock33_matrix_seqs(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix Case of a block 3x3 entries. Expand each row....
Definition: cs_cdo_assembly.c:2287
void() cs_cdo_assembly_func_t(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix Block or no block versions are handled.
Definition: cs_cdo_assembly.h:78
void cs_cdo_assembly_eblock_matrix_seqt(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block NxN entries....
Definition: cs_cdo_assembly.c:3005
void cs_cdo_assembly_matrix_scal_generic(const cs_sdm_t *m, const cs_lnum_t *dof_ids, const cs_range_set_t *rset, cs_cdo_assembly_t *asb, cs_matrix_assembler_values_t *mav)
Assemble a cellwise matrix into the global matrix. Rely on the generic cs_matrix_assembler_values_add...
Definition: cs_cdo_assembly.c:1410
void cs_cdo_assembly_finalize(void)
Free matrix-related structures used during the simulation. Display overall statistic about the assemb...
Definition: cs_cdo_assembly.c:1359
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:298
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
struct _cs_matrix_assembler_values_t cs_matrix_assembler_values_t
Definition: cs_matrix_assembler.h:65
Definition: cs_cdo_assembly.h:109
cs_lnum_t l_col_shift
Definition: cs_cdo_assembly.h:121
cs_cdo_assembly_row_t * row
Definition: cs_cdo_assembly.h:124
int n_cw_dofs
Definition: cs_cdo_assembly.h:111
int ddim
Definition: cs_cdo_assembly.h:112
cs_lnum_t l_row_shift
Definition: cs_cdo_assembly.h:122
int edim
Definition: cs_cdo_assembly.h:114
Definition: cs_cdo_assembly.h:86
int n_cols
Definition: cs_cdo_assembly.h:96
const cs_real_t * val
Definition: cs_cdo_assembly.h:101
cs_lnum_t l_id
Definition: cs_cdo_assembly.h:91
cs_real_t * expval
Definition: cs_cdo_assembly.h:102
cs_gnum_t * col_g_id
Definition: cs_cdo_assembly.h:97
cs_gnum_t g_id
Definition: cs_cdo_assembly.h:90
int * col_idx
Definition: cs_cdo_assembly.h:98
int i
Definition: cs_cdo_assembly.h:92
Definition: cs_range_set.h:57