8.0
general documentation
cs_equation_system_param.h
Go to the documentation of this file.
1 #ifndef __CS_EQUATION_SYSTEM_PARAM_H__
2 #define __CS_EQUATION_SYSTEM_PARAM_H__
3 
4 /*============================================================================
5  * Functions to handle a set of coupled equations hinging on the cs_equation_t
6  * structure
7  *============================================================================*/
8 
9 /*
10  This file is part of code_saturne, a general-purpose CFD tool.
11 
12  Copyright (C) 1998-2023 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_equation_param.h"
34 #include "cs_iter_algo.h"
35 #include "cs_param_sles.h"
36 #include "cs_param_types.h"
37 
38 /*----------------------------------------------------------------------------*/
39 
41 
42 /*============================================================================
43  * Macro definitions
44  *============================================================================*/
45 
46 /*============================================================================
47  * Type definitions
48  *============================================================================*/
49 
60 typedef enum {
61 
63 
65 
67 
72 typedef struct {
73 
92  char *restrict name;
93 
94  int verbosity;
95 
97 
99 
116 
118 
120 
126 
127 
154 typedef enum {
155 
162 
164 
166 
167 /*============================================================================
168  * Public function prototypes
169  *============================================================================*/
170 /*----------------------------------------------------------------------------*/
179 /*----------------------------------------------------------------------------*/
180 
182 cs_equation_system_param_create(const char *name,
183  int block_var_dim);
184 
185 /*----------------------------------------------------------------------------*/
193 /*----------------------------------------------------------------------------*/
194 
197 
198 /*----------------------------------------------------------------------------*/
204 /*----------------------------------------------------------------------------*/
205 
206 void
208 
209 /*----------------------------------------------------------------------------*/
218 /*----------------------------------------------------------------------------*/
219 
220 void
223  const char *keyval);
224 
225 /*----------------------------------------------------------------------------*/
226 
228 
229 #endif /* __CS_EQUATION_SYSTEM_PARAM_H__ */
#define restrict
Definition: cs_defs.h:139
#define BEGIN_C_DECLS
Definition: cs_defs.h:509
#define END_C_DECLS
Definition: cs_defs.h:510
cs_equation_system_param_t * cs_equation_system_param_create(const char *name, int block_var_dim)
Create and initialize a new cs_equation_system_param_t structure.
Definition: cs_equation_system_param.c:91
cs_equation_system_key_t
List of available keys for setting the parameters of a system of equations.
Definition: cs_equation_system_param.h:154
@ CS_SYSKEY_LINEAR_SOLVER_ATOL
Definition: cs_equation_system_param.h:156
@ CS_SYSKEY_N_KEYS
Definition: cs_equation_system_param.h:163
@ CS_SYSKEY_LINEAR_SOLVER_DTOL
Definition: cs_equation_system_param.h:157
@ CS_SYSKEY_LINEAR_SOLVER_RTOL
Definition: cs_equation_system_param.h:158
@ CS_SYSKEY_SLES_STRATEGY
Definition: cs_equation_system_param.h:160
@ CS_SYSKEY_LINEAR_SOLVER_MAX_ITER
Definition: cs_equation_system_param.h:159
@ CS_SYSKEY_VERBOSITY
Definition: cs_equation_system_param.h:161
cs_equation_system_sles_strategy_t
High-level information about the way of solving the system of equations.
Definition: cs_equation_system_param.h:60
@ CS_EQUATION_SYSTEM_N_SLES_TYPES
Definition: cs_equation_system_param.h:64
@ CS_EQUATION_SYSTEM_SLES_MUMPS
Definition: cs_equation_system_param.h:62
void cs_equation_system_param_set(cs_equation_system_param_t *sysp, cs_equation_system_key_t key, const char *keyval)
Set a parameter related to a keyname in a cs_equation_system_param_t structure.
Definition: cs_equation_system_param.c:207
void cs_equation_system_param_log(const cs_equation_system_param_t *sysp)
Log the setup gathered in the structure cs_equation_system_param_t.
Definition: cs_equation_system_param.c:160
cs_equation_system_param_t * cs_equation_system_param_free(cs_equation_system_param_t *sysp)
Free a cs_equation_system_param_t structure.
Definition: cs_equation_system_param.c:139
Structure and routines handling the SLES settings stored inside a cs_param_sles_t structure.
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param_types.h:211
Main structure storing the parameter settings.
Definition: cs_equation_system_param.h:72
bool sles_setup_done
Definition: cs_equation_system_param.h:115
int block_var_dim
Definition: cs_equation_system_param.h:98
cs_equation_system_sles_strategy_t sles_strategy
Definition: cs_equation_system_param.h:117
int verbosity
Definition: cs_equation_system_param.h:94
char *restrict name
Definition: cs_equation_system_param.h:92
cs_param_sles_cvg_t linear_solver_cvg
Definition: cs_equation_system_param.h:119
cs_param_space_scheme_t space_scheme
Definition: cs_equation_system_param.h:96
Set of parameters to check the convergence (or the divergence) of an iterative process (tolerances or...
Definition: cs_param_sles.h:61