My Project
programmer's documentation
cs_equation_assemble.h
Go to the documentation of this file.
1 #ifndef __CS_EQUATION_ASSEMBLE_H__
2 #define __CS_EQUATION_ASSEMBLE_H__
3 
4 /*============================================================================
5  * Routines to handle the assembly process of equatino discretized with CDO
6  * schemes
7  *============================================================================*/
8 
9 /*
10  This file is part of Code_Saturne, a general-purpose CFD tool.
11 
12  Copyright (C) 1998-2019 EDF S.A.
13 
14  This program is free software; you can redistribute it and/or modify it under
15  the terms of the GNU General Public License as published by the Free Software
16  Foundation; either version 2 of the License, or (at your option) any later
17  version.
18 
19  This program is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
21  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
22  details.
23 
24  You should have received a copy of the GNU General Public License along with
25  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
26  Street, Fifth Floor, Boston, MA 02110-1301, USA.
27 */
28 
29 /*----------------------------------------------------------------------------
30  * Local headers
31  *----------------------------------------------------------------------------*/
32 
33 #include "cs_cdo_connect.h"
34 #include "cs_cdo_local.h"
35 #include "cs_matrix.h"
36 #include "cs_matrix_assembler.h"
37 #include "cs_param.h"
38 #include "cs_param_cdo.h"
39 
40 /*----------------------------------------------------------------------------*/
41 
43 
44 /*============================================================================
45  * Macro definitions
46  *============================================================================*/
47 
48 /*============================================================================
49  * Type definitions
50  *============================================================================*/
51 
52 typedef struct _cs_equation_assemble_t cs_equation_assemble_t;
53 
54 /*============================================================================
55  * Function pointer type definitions
56  *============================================================================*/
57 
58 /*----------------------------------------------------------------------------*/
68 /*----------------------------------------------------------------------------*/
69 
70 typedef void
72  const cs_range_set_t *rset,
75 
76 /*============================================================================
77  * Public function prototypes
78  *============================================================================*/
79 
80 /*----------------------------------------------------------------------------*/
89 /*----------------------------------------------------------------------------*/
90 
93 
94 /*----------------------------------------------------------------------------*/
103 /*----------------------------------------------------------------------------*/
104 
106 cs_equation_assemble_get(int t_id);
107 
108 /*----------------------------------------------------------------------------*/
119 /*----------------------------------------------------------------------------*/
120 
121 void
123  cs_flag_t vb_flag,
124  cs_flag_t vcb_flag,
125  cs_flag_t fb_flag,
126  cs_flag_t hho_flag);
127 
128 /*----------------------------------------------------------------------------*/
133 /*----------------------------------------------------------------------------*/
134 
135 void
137 
138 /*----------------------------------------------------------------------------*/
147 /*----------------------------------------------------------------------------*/
148 
151  int ma_id);
152 
153 /*----------------------------------------------------------------------------*/
163 /*----------------------------------------------------------------------------*/
164 
165 void
167  const cs_range_set_t *rset,
170 
171 /*----------------------------------------------------------------------------*/
181 /*----------------------------------------------------------------------------*/
182 
183 void
185  const cs_range_set_t *rset,
188 
189 /*----------------------------------------------------------------------------*/
199 /*----------------------------------------------------------------------------*/
200 
201 void
203  const cs_range_set_t *rset,
206 
207 /*----------------------------------------------------------------------------*/
217 /*----------------------------------------------------------------------------*/
218 
219 void
221  const cs_range_set_t *rset,
224 
225 /*----------------------------------------------------------------------------*/
236 /*----------------------------------------------------------------------------*/
237 
238 void
240  const cs_range_set_t *rset,
243 
244 /*----------------------------------------------------------------------------*/
255 /*----------------------------------------------------------------------------*/
256 
257 void
259  const cs_range_set_t *rset,
262 
263 /*----------------------------------------------------------------------------*/
274 /*----------------------------------------------------------------------------*/
275 
276 void
278  const cs_range_set_t *rset,
281 
282 /*----------------------------------------------------------------------------*/
293 /*----------------------------------------------------------------------------*/
294 
295 void
297  const cs_range_set_t *rset,
300 
301 /*----------------------------------------------------------------------------*/
312 /*----------------------------------------------------------------------------*/
313 
314 void
316  const cs_range_set_t *rset,
319 
320 /*----------------------------------------------------------------------------*/
331 /*----------------------------------------------------------------------------*/
332 
333 void
335  const cs_range_set_t *rset,
338 
339 /*----------------------------------------------------------------------------*/
350 /*----------------------------------------------------------------------------*/
351 
352 void
354  const cs_range_set_t *rset,
357 
358 /*----------------------------------------------------------------------------*/
369 /*----------------------------------------------------------------------------*/
370 
371 void
373  const cs_range_set_t *rset,
376 
377 /*----------------------------------------------------------------------------*/
378 
380 
381 #endif /* __CS_EQUATION_ASSEMBLE_H__ */
cs_equation_assemble_init
void cs_equation_assemble_init(const cs_cdo_connect_t *connect, cs_flag_t vb_flag, cs_flag_t vcb_flag, cs_flag_t fb_flag, cs_flag_t hho_flag)
Allocate and initialize matrix-related structures according to the type of discretization used for th...
Definition: cs_equation_assemble.c:981
cs_equation_assemble_eblock33_matrix_mpit
void cs_equation_assemble_eblock33_matrix_mpit(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block 3x3 entries....
cs_equation_assembly_t
void() cs_equation_assembly_t(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system Block or no block versions are handled.
Definition: cs_equation_assemble.h:71
cs_equation_assemble_matrix_seqs
void cs_equation_assemble_matrix_seqs(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system Scalar-valued case. Sequential and withou...
Definition: cs_equation_assemble.c:1472
cs_equation_assemble_matrix_seqt
void cs_equation_assemble_matrix_seqt(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system Scalar-valued case. Sequential and with o...
Definition: cs_equation_assemble.c:1423
cs_matrix_structure_t
struct _cs_matrix_structure_t cs_matrix_structure_t
Definition: cs_matrix.h:86
cs_equation_assemble_eblock_matrix_seqt
void cs_equation_assemble_eblock_matrix_seqt(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block NxN entries....
Definition: cs_equation_assemble.c:1930
cs_matrix_assembler_values_t
struct _cs_matrix_assembler_values_t cs_matrix_assembler_values_t
Definition: cs_matrix_assembler.h:65
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
cs_equation_assemble_eblock_matrix_mpit
void cs_equation_assemble_eblock_matrix_mpit(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block NxN entries....
cs_equation_assemble_set
cs_equation_assembly_t * cs_equation_assemble_set(cs_param_space_scheme_t scheme, int ma_id)
Define the function pointer used to assemble the algebraic system.
Definition: cs_equation_assemble.c:1259
cs_equation_assemble_t
struct _cs_equation_assemble_t cs_equation_assemble_t
Definition: cs_equation_assemble.h:52
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
cs_matrix_assembler.h
cs_equation_assemble_eblock_matrix_mpis
void cs_equation_assemble_eblock_matrix_mpis(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block NxN entries....
cs_equation_assemble_finalize
void cs_equation_assemble_finalize(void)
Free matrix-related structures used during the simulation. Display overall statistic about the assemb...
Definition: cs_equation_assemble.c:1216
cs_equation_assemble_eblock33_matrix_seqt
void cs_equation_assemble_eblock33_matrix_seqt(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block 3x3 entries....
Definition: cs_equation_assemble.c:1593
cs_param_cdo.h
cs_equation_assemble_eblock33_matrix_seqs
void cs_equation_assemble_eblock33_matrix_seqs(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block 3x3 entries....
Definition: cs_equation_assemble.c:1517
cs_equation_assemble_eblock_matrix_seqs
void cs_equation_assemble_eblock_matrix_seqs(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block NxN entries....
Definition: cs_equation_assemble.c:1850
cs_cdo_connect_t
Definition: cs_cdo_connect.h:74
cs_param_space_scheme_t
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param.h:125
cs_range_set_t
Definition: cs_range_set.h:57
cs_equation_get_matrix_structure
cs_matrix_structure_t * cs_equation_get_matrix_structure(int flag)
Retrieve the pointer to a requested cs_matrix_structure_t structure.
Definition: cs_equation_assemble.c:935
cs_equation_assemble_matrix_mpis
void cs_equation_assemble_matrix_mpis(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system Scalar-valued case. Parallel without open...
cs_cdo_connect.h
cs_equation_assemble_matrix_mpit
void cs_equation_assemble_matrix_mpit(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system Scalar-valued case. Parallel and with ope...
cs_equation_assemble_get
cs_equation_assemble_t * cs_equation_assemble_get(int t_id)
Get a pointer to a cs_equation_assemble_t structure related to a given thread.
Definition: cs_equation_assemble.c:958
cs_flag_t
unsigned short int cs_flag_t
Definition: cs_defs.h:304
cs_matrix.h
cs_equation_assemble_eblock33_matrix_mpis
void cs_equation_assemble_eblock33_matrix_mpis(const cs_cell_sys_t *csys, const cs_range_set_t *rset, cs_equation_assemble_t *eqa, cs_matrix_assembler_values_t *mav)
Assemble a cellwise system into the global algebraic system. Case of a block 3x3 entries....
cs_cell_sys_t
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for bui...
Definition: cs_cdo_local.h:93
cs_param.h
cs_cdo_local.h