My Project
programmer's documentation
Loading...
Searching...
No Matches
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
52typedef struct _cs_equation_assemble_t cs_equation_assemble_t;
53
54/*============================================================================
55 * Function pointer type definitions
56 *============================================================================*/
57
58/*----------------------------------------------------------------------------*/
68/*----------------------------------------------------------------------------*/
69
70typedef void
72 const cs_range_set_t *rset,
75
76/*============================================================================
77 * Public function prototypes
78 *============================================================================*/
79
80/*----------------------------------------------------------------------------*/
89/*----------------------------------------------------------------------------*/
90
93
94/*----------------------------------------------------------------------------*/
103/*----------------------------------------------------------------------------*/
104
107
108/*----------------------------------------------------------------------------*/
119/*----------------------------------------------------------------------------*/
120
121void
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
135void
137
138/*----------------------------------------------------------------------------*/
147/*----------------------------------------------------------------------------*/
148
151 int ma_id);
152
153/*----------------------------------------------------------------------------*/
163/*----------------------------------------------------------------------------*/
164
165void
167 const cs_range_set_t *rset,
170
171/*----------------------------------------------------------------------------*/
181/*----------------------------------------------------------------------------*/
182
183void
185 const cs_range_set_t *rset,
188
189/*----------------------------------------------------------------------------*/
199/*----------------------------------------------------------------------------*/
200
201void
203 const cs_range_set_t *rset,
206
207/*----------------------------------------------------------------------------*/
217/*----------------------------------------------------------------------------*/
218
219void
221 const cs_range_set_t *rset,
224
225/*----------------------------------------------------------------------------*/
236/*----------------------------------------------------------------------------*/
237
238void
240 const cs_range_set_t *rset,
243
244/*----------------------------------------------------------------------------*/
255/*----------------------------------------------------------------------------*/
256
257void
259 const cs_range_set_t *rset,
262
263/*----------------------------------------------------------------------------*/
274/*----------------------------------------------------------------------------*/
275
276void
278 const cs_range_set_t *rset,
281
282/*----------------------------------------------------------------------------*/
293/*----------------------------------------------------------------------------*/
294
295void
297 const cs_range_set_t *rset,
300
301/*----------------------------------------------------------------------------*/
312/*----------------------------------------------------------------------------*/
313
314void
316 const cs_range_set_t *rset,
319
320/*----------------------------------------------------------------------------*/
331/*----------------------------------------------------------------------------*/
332
333void
335 const cs_range_set_t *rset,
338
339/*----------------------------------------------------------------------------*/
350/*----------------------------------------------------------------------------*/
351
352void
354 const cs_range_set_t *rset,
357
358/*----------------------------------------------------------------------------*/
369/*----------------------------------------------------------------------------*/
370
371void
373 const cs_range_set_t *rset,
376
377/*----------------------------------------------------------------------------*/
378
380
381#endif /* __CS_EQUATION_ASSEMBLE_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:467
#define END_C_DECLS
Definition cs_defs.h:468
unsigned short int cs_flag_t
Definition cs_defs.h:304
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_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
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
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...
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
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
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_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
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....
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....
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...
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
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
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
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
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
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_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
struct _cs_equation_assemble_t cs_equation_assemble_t
Definition cs_equation_assemble.h:52
struct _cs_matrix_structure_t cs_matrix_structure_t
Definition cs_matrix.h:86
struct _cs_matrix_assembler_values_t cs_matrix_assembler_values_t
Definition cs_matrix_assembler.h:65
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition cs_param.h:125
Definition cs_cdo_connect.h:74
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
Definition cs_range_set.h:57