8.3
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-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 * 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
60typedef enum {
61
63
65
67
72typedef struct {
73
101
106
108
123
129
130
160typedef enum {
161
169
171
173
174/*============================================================================
175 * Public function prototypes
176 *============================================================================*/
177
178/*----------------------------------------------------------------------------*/
187/*----------------------------------------------------------------------------*/
188
190cs_equation_system_param_create(const char *name,
191 int block_var_dim);
192
193/*----------------------------------------------------------------------------*/
201/*----------------------------------------------------------------------------*/
202
205
206/*----------------------------------------------------------------------------*/
212/*----------------------------------------------------------------------------*/
213
214void
216
217/*----------------------------------------------------------------------------*/
226/*----------------------------------------------------------------------------*/
227
228void
231 const char *keyval);
232
233/*----------------------------------------------------------------------------*/
234
236
237#endif /* __CS_EQUATION_SYSTEM_PARAM_H__ */
#define restrict
Definition: cs_defs.h:145
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
#define END_C_DECLS
Definition: cs_defs.h:543
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:182
cs_equation_system_key_t
List of available keys for setting the parameters of a system of equations.
Definition: cs_equation_system_param.h:160
@ CS_SYSKEY_INCR_SOLVE
Definition: cs_equation_system_param.h:162
@ CS_SYSKEY_LINEAR_SOLVER_ATOL
Definition: cs_equation_system_param.h:163
@ CS_SYSKEY_N_KEYS
Definition: cs_equation_system_param.h:170
@ CS_SYSKEY_LINEAR_SOLVER_DTOL
Definition: cs_equation_system_param.h:164
@ CS_SYSKEY_LINEAR_SOLVER_RTOL
Definition: cs_equation_system_param.h:165
@ CS_SYSKEY_SLES_STRATEGY
Definition: cs_equation_system_param.h:167
@ CS_SYSKEY_LINEAR_SOLVER_MAX_ITER
Definition: cs_equation_system_param.h:166
@ CS_SYSKEY_VERBOSITY
Definition: cs_equation_system_param.h:168
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.cpp:250
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:91
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:205
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:72
cs_param_sles_t * sles_param
Definition: cs_equation_system_param.h:122
int block_var_dim
Definition: cs_equation_system_param.h:104
cs_equation_system_sles_strategy_t sles_strategy
Definition: cs_equation_system_param.h:121
cs_property_t * relax_pty
Definition: cs_equation_system_param.h:107
int verbosity
Definition: cs_equation_system_param.h:102
char *restrict name
Definition: cs_equation_system_param.h:100
cs_param_space_scheme_t space_scheme
Definition: cs_equation_system_param.h:103
bool incremental_solve
Definition: cs_equation_system_param.h:105
Structure storing all metadata related to the resolution of a linear system with an iterative solver.
Definition: cs_param_sles.h:64
Structure associated to the definition of a property relying on the cs_xdef_t structure.