8.2
general documentation
cs_cdocb_scaleq_sles.h
Go to the documentation of this file.
1 #ifndef __CS_CDOCB_SCALEQ_SLES_H__
2 #define __CS_CDOCB_SCALEQ_SLES_H__
3 
4 /*============================================================================
5  * Functions dedicated to the linear algebra settings and operations in case
6  * of CDO cell-based schemes with a scaleq equations
7  *============================================================================*/
8 
9 /*
10  This file is part of code_saturne, a general-purpose CFD tool.
11 
12  Copyright (C) 1998-2024 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 
31 #include "cs_defs.h"
32 
33 /*----------------------------------------------------------------------------
34  * Standard C library headers
35  *----------------------------------------------------------------------------*/
36 
37 /*----------------------------------------------------------------------------
38  * Local headers
39  *----------------------------------------------------------------------------*/
40 
41 #include "cs_cdocb_priv.h"
42 
43 /*----------------------------------------------------------------------------*/
44 
46 
47 /*============================================================================
48  * Macro definitions
49  *============================================================================*/
50 
51 /*============================================================================
52  * Type definitions
53  *============================================================================*/
54 
55 /*============================================================================
56  * Public function prototypes
57  *============================================================================*/
58 
59 /*----------------------------------------------------------------------------*/
67 /*----------------------------------------------------------------------------*/
68 
69 void
71  const cs_cdo_connect_t *connect,
72  const cs_cdo_quantities_t *quant);
73 
74 /*----------------------------------------------------------------------------*/
82 /*----------------------------------------------------------------------------*/
83 
84 void
86  cs_cdocb_scaleq_t *eqc);
87 
88 /*----------------------------------------------------------------------------*/
97 /*----------------------------------------------------------------------------*/
98 
99 void
101  const cs_param_saddle_t *saddlep,
102  cs_cdocb_scaleq_t *eqc);
103 
104 /*----------------------------------------------------------------------------*/
117 /*----------------------------------------------------------------------------*/
118 
119 int
121  cs_real_t *flux,
122  cs_real_t *pot);
123 
124 /*----------------------------------------------------------------------------*/
139 /*----------------------------------------------------------------------------*/
140 
141 int
143  cs_real_t *flux,
144  cs_real_t *pot);
145 
146 /*----------------------------------------------------------------------------*/
159 /*----------------------------------------------------------------------------*/
160 
161 int
163  cs_real_t *flux,
164  cs_real_t *pot);
165 
166 /*----------------------------------------------------------------------------*/
180 /*----------------------------------------------------------------------------*/
181 
182 int
184  cs_real_t *flux,
185  cs_real_t *pot);
186 
187 /*----------------------------------------------------------------------------*/
201 /*----------------------------------------------------------------------------*/
202 
203 int
205  cs_real_t *flux,
206  cs_real_t *pot);
207 
208 /*----------------------------------------------------------------------------*/
220 /*----------------------------------------------------------------------------*/
221 
222 int
224  cs_real_t *flux,
225  cs_real_t *pot);
226 
227 /*----------------------------------------------------------------------------*/
228 
230 
231 #endif /* __CS_CDOCB_SCALEQ_SLES_H__ */
int cs_cdocb_scaleq_sles_uzawa_cg(cs_saddle_solver_t *solver, cs_real_t *flux, cs_real_t *pot)
Solve a linear system arising from the discretization of a scalar-valed equation stemming from CDO ce...
Definition: cs_cdocb_scaleq_sles.c:1356
void cs_cdocb_scaleq_sles_init_system_helper(const cs_param_saddle_t *saddlep, cs_cdocb_scaleq_t *eqc)
Define the system helper for a CDO-Cb scheme solving a scalar-valued equation (saddle-point system)
Definition: cs_cdocb_scaleq_sles.c:580
int cs_cdocb_scaleq_sles_notay(cs_saddle_solver_t *solver, cs_real_t *flux, cs_real_t *pot)
Solve a linear system arising from the discretization of a scalar-valed equation stemming from CDO ce...
Definition: cs_cdocb_scaleq_sles.c:1283
int cs_cdocb_scaleq_sles_full_system(cs_saddle_solver_t *solver, cs_real_t *flux, cs_real_t *pot)
Solve the saddle-point linear system arising from the discretization of the scalar-valued CDO cell-ba...
Definition: cs_cdocb_scaleq_sles.c:1123
void cs_cdocb_scaleq_sles_init_sharing(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant)
Set pointers to shared structures.
Definition: cs_cdocb_scaleq_sles.c:558
int cs_cdocb_scaleq_sles_block_krylov(cs_saddle_solver_t *solver, cs_real_t *flux, cs_real_t *pot)
Solve a linear system arising from the discretization of a scalar-valed equation stemming from CDO ce...
Definition: cs_cdocb_scaleq_sles.c:912
int cs_cdocb_scaleq_sles_gkb_inhouse(cs_saddle_solver_t *solver, cs_real_t *flux, cs_real_t *pot)
Solve a linear system arising from the discretization of a scalar-valed equation stemming from CDO ce...
Definition: cs_cdocb_scaleq_sles.c:1197
int cs_cdocb_scaleq_sles_alu(cs_saddle_solver_t *solver, cs_real_t *flux, cs_real_t *pot)
Solve a linear system arising from the discretization of a scalar-valed equation stemming from CDO ce...
Definition: cs_cdocb_scaleq_sles.c:825
void cs_cdocb_scaleq_sles_init_solver(const cs_equation_param_t *eqp, const cs_param_saddle_t *saddlep, cs_cdocb_scaleq_t *eqc)
Define the saddle solver and its context for a CDO-Cb scheme solving a scalar-valued equation (saddle...
Definition: cs_cdocb_scaleq_sles.c:699
#define BEGIN_C_DECLS
Definition: cs_defs.h:528
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
#define END_C_DECLS
Definition: cs_defs.h:529
Definition: mesh.f90:26
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:137
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:193
Definition: cs_mesh.h:85
Structure storing all metadata related to the resolution of a saddle-point linear system....
Definition: cs_param_saddle.h:272
Definition: cs_saddle_solver.h:88