9.2
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-2026 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 "alge/cs_param_sles.h"
34#include "base/cs_param_types.h"
36#include "cdo/cs_iter_algo.h"
37
38/*============================================================================
39 * Macro definitions
40 *============================================================================*/
41
42/*============================================================================
43 * Type definitions
44 *============================================================================*/
45
56typedef enum {
57
59
61
63
68typedef struct {
69
97
102
104
119
125
126
156typedef enum {
157
165
167
169
170/*============================================================================
171 * Public function prototypes
172 *============================================================================*/
173
174/*----------------------------------------------------------------------------*/
183/*----------------------------------------------------------------------------*/
184
186cs_equation_system_param_create(const char *name,
187 int block_var_dim);
188
189/*----------------------------------------------------------------------------*/
197/*----------------------------------------------------------------------------*/
198
201
202/*----------------------------------------------------------------------------*/
208/*----------------------------------------------------------------------------*/
209
210void
212
213/*----------------------------------------------------------------------------*/
222/*----------------------------------------------------------------------------*/
223
224void
227 const char *keyval);
228
229/*----------------------------------------------------------------------------*/
230
231#endif /* CS_EQUATION_SYSTEM_PARAM_H */
#define restrict
Definition: cs_defs.h:148
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.cpp:176
cs_equation_system_key_t
List of available keys for setting the parameters of a system of equations.
Definition: cs_equation_system_param.h:156
@ CS_SYSKEY_INCR_SOLVE
Definition: cs_equation_system_param.h:158
@ CS_SYSKEY_LINEAR_SOLVER_ATOL
Definition: cs_equation_system_param.h:159
@ CS_SYSKEY_N_KEYS
Definition: cs_equation_system_param.h:166
@ CS_SYSKEY_LINEAR_SOLVER_DTOL
Definition: cs_equation_system_param.h:160
@ CS_SYSKEY_LINEAR_SOLVER_RTOL
Definition: cs_equation_system_param.h:161
@ CS_SYSKEY_SLES_STRATEGY
Definition: cs_equation_system_param.h:163
@ CS_SYSKEY_LINEAR_SOLVER_MAX_ITER
Definition: cs_equation_system_param.h:162
@ CS_SYSKEY_VERBOSITY
Definition: cs_equation_system_param.h:164
cs_equation_system_sles_strategy_t
High-level information about the way of solving the system of equations.
Definition: cs_equation_system_param.h:56
@ CS_EQUATION_SYSTEM_N_SLES_TYPES
Definition: cs_equation_system_param.h:60
@ CS_EQUATION_SYSTEM_SLES_MUMPS
Definition: cs_equation_system_param.h:58
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.cpp:244
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.cpp:85
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.cpp:199
Structure and routines handling the SLES ((Sparse Linear Equation Solver) settings stored inside a cs...
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param_types.h:215
Main structure storing the parameter settings.
Definition: cs_equation_system_param.h:68
cs_param_sles_t * sles_param
Definition: cs_equation_system_param.h:118
int block_var_dim
Definition: cs_equation_system_param.h:100
cs_equation_system_sles_strategy_t sles_strategy
Definition: cs_equation_system_param.h:117
cs_property_t * relax_pty
Definition: cs_equation_system_param.h:103
int verbosity
Definition: cs_equation_system_param.h:98
char *restrict name
Definition: cs_equation_system_param.h:96
cs_param_space_scheme_t space_scheme
Definition: cs_equation_system_param.h:99
bool incremental_solve
Definition: cs_equation_system_param.h:101
Structure storing all metadata related to the resolution of a linear system with an iterative solver.
Definition: cs_param_sles.h:63
Structure associated to the definition of a property relying on the cs_xdef_t structure.