9.2
general documentation
cs_cdovb_scalsys.h
Go to the documentation of this file.
1#ifndef CS_CDOVB_SCALSYS_H
2#define CS_CDOVB_SCALSYS_H
3
4/*============================================================================
5 * Build an algebraic CDO vertex-based system of equations. These equations
6 * corresponds to scalar-valued unsteady convection diffusion reaction
7 * equations
8 *============================================================================*/
9
10/*
11 This file is part of code_saturne, a general-purpose CFD tool.
12
13 Copyright (C) 1998-2026 EDF S.A.
14
15 This program is free software; you can redistribute it and/or modify it under
16 the terms of the GNU General Public License as published by the Free Software
17 Foundation; either version 2 of the License, or (at your option) any later
18 version.
19
20 This program is distributed in the hope that it will be useful, but WITHOUT
21 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
23 details.
24
25 You should have received a copy of the GNU General Public License along with
26 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
27 Street, Fifth Floor, Boston, MA 02110-1301, USA.
28*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
34#include "base/cs_base.h"
35#include "base/cs_time_step.h"
36#include "cdo/cs_cdo_connect.h"
38#include "cdo/cs_equation.h"
41#include "mesh/cs_mesh.h"
42
43/*============================================================================
44 * Macro definitions
45 *============================================================================*/
46
47/*============================================================================
48 * Type definitions
49 *============================================================================*/
50
51typedef struct _cs_cdovb_scalsys_t cs_cdovb_scalsys_t;
52
53/*============================================================================
54 * Public function prototypes
55 *============================================================================*/
56
57/*----------------------------------------------------------------------------*/
66/*----------------------------------------------------------------------------*/
67
68void
70 const cs_cdo_connect_t *connect,
71 const cs_cdo_quantities_t *quant,
72 const cs_time_step_t *time_step);
73
74/*----------------------------------------------------------------------------*/
92/*----------------------------------------------------------------------------*/
93
94void *
97 cs_equation_core_t **block_factories,
99
100/*----------------------------------------------------------------------------*/
114/*----------------------------------------------------------------------------*/
115
116void *
117cs_cdovb_scalsys_free(int n_eqs,
118 cs_equation_core_t **blocks,
119 void *sys_context);
120
121/*----------------------------------------------------------------------------*/
137/*----------------------------------------------------------------------------*/
138
139void
141 const cs_time_step_t *time_step,
142 int n_equations,
144 cs_equation_core_t **blocks,
145 void *sys_context,
147
148/*----------------------------------------------------------------------------*/
165/*----------------------------------------------------------------------------*/
166
167void
169 const cs_time_step_t *time_step,
170 int n_equations,
172 cs_equation_core_t **blocks,
173 void *sys_context,
175
176#endif /* CS_CDOVB_SCALSYS_H */
time step descriptor
Definition: cs_time_step.h:60
void cs_cdovb_scalsys_init_sharing(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_time_step_t *time_step)
Set pointers to the main shared structures.
Definition: cs_cdovb_scalsys.cpp:820
void cs_cdovb_scalsys_solve_implicit_incr(bool cur2prev, const cs_time_step_t *time_step, int n_equations, cs_equation_system_param_t *sysp, cs_equation_core_t **blocks, void *sys_context, cs_cdo_system_helper_t *sh)
Build and solve the system of equations. The number of rows in the system is equal to the number of e...
Definition: cs_cdovb_scalsys.cpp:1155
void * cs_cdovb_scalsys_free(int n_eqs, cs_equation_core_t **blocks, void *sys_context)
Free an array of structures (equation parameters, equation builders or scheme context) for each equat...
Definition: cs_cdovb_scalsys.cpp:985
void * cs_cdovb_scalsys_define(int n_eqs, const cs_equation_system_param_t *sysp, cs_equation_core_t **block_factories, cs_cdo_system_helper_t **p_sh)
Create and initialize factories for extra-diagonal blocks Build equation builders and scheme context ...
Definition: cs_cdovb_scalsys.cpp:854
void cs_cdovb_scalsys_solve_implicit(bool cur2prev, const cs_time_step_t *time_step, int n_equations, cs_equation_system_param_t *sysp, cs_equation_core_t **blocks, void *sys_context, cs_cdo_system_helper_t *sh)
Build and solve the linear system of equations. The number of rows in the system is equal to the numb...
Definition: cs_cdovb_scalsys.cpp:1048
Definition: mesh.f90:26
Definition: cs_cdo_connect.h:57
Definition: cs_cdo_quantities.h:142
Definition: cs_cdo_system.h:373
Main structures on which an equation structure relies.
Definition: cs_equation.h:78
Main structure storing the parameter settings.
Definition: cs_equation_system_param.h:68
Definition: cs_mesh.h:85