9.2
general documentation
cs_macfb_advection.h
Go to the documentation of this file.
1#ifndef CS_MACFB_ADVECTION_H
2#define CS_MACFB_ADVECTION_H
3
4/*============================================================================
5 * Build discrete convection operators for MAC schemes
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2026 EDF S.A.
12
13 This program is free software; you can redistribute it and/or modify it under
14 the terms of the GNU General Public License as published by the Free Software
15 Foundation; either version 2 of the License, or (at your option) any later
16 version.
17
18 This program is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21 details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25 Street, Fifth Floor, Boston, MA 02110-1301, USA.
26*/
27
28/*----------------------------------------------------------------------------*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
35#include "cdo/cs_cdo_connect.h"
36#include "cdo/cs_cdo_local.h"
40#include "cdo/cs_property.h"
41
42/*============================================================================
43 * Macro definitions
44 *============================================================================*/
45
46/*============================================================================
47 * Type definitions
48 *============================================================================*/
49
50/* ---------------------------------------------------------------------------
51 * Function pointers for MAC face-based schemes
52 * -------------------------------------------------------------------------- */
53
54/*----------------------------------------------------------------------------*/
66/*----------------------------------------------------------------------------*/
67
69 const cs_cell_mesh_t *cm,
70 const cs_macfb_builder_t *macb,
71 const cs_cell_sys_t *csys,
72 void *input,
74
75/*----------------------------------------------------------------------------*/
88/*----------------------------------------------------------------------------*/
89
90typedef void(cs_macfb_adv_scheme_t)(const cs_cell_mesh_t *cm,
91 const cs_macfb_builder_t *macb,
93 cs_sdm_t *adv,
94 cs_real_t *rhs);
95
96/*----------------------------------------------------------------------------*/
112/*----------------------------------------------------------------------------*/
113
115 const cs_cell_mesh_t *cm,
116 const cs_macfb_builder_t *macb,
117 cs_macfb_adv_scheme_t *scheme_func,
118 cs_cell_sys_t *csys,
120
121/*----------------------------------------------------------------------------*/
131/*----------------------------------------------------------------------------*/
132
134 const cs_macfb_builder_t *macb,
135 const cs_cell_builder_t *cb,
136 cs_cell_sys_t *csys);
137
138/*============================================================================
139 * Global variables
140 *============================================================================*/
141
142/*============================================================================
143 * Public function prototypes
144 *============================================================================*/
145
146/*----------------------------------------------------------------------------*/
160/*----------------------------------------------------------------------------*/
161
163 const cs_cell_mesh_t *cm,
164 const cs_macfb_builder_t *macb,
165 const cs_cell_sys_t *csys,
166 void *input,
168
169/*----------------------------------------------------------------------------*/
181/*----------------------------------------------------------------------------*/
182
184 const cs_macfb_builder_t *macb,
185 const cs_cell_builder_t *cb,
186 cs_cell_sys_t *csys);
187
188/*----------------------------------------------------------------------------*/
200/*----------------------------------------------------------------------------*/
201
203 const cs_macfb_builder_t *macb,
204 const cs_cell_builder_t *cb,
205 cs_cell_sys_t *csys);
206
207/*----------------------------------------------------------------------------*/
225/*----------------------------------------------------------------------------*/
226
228 const cs_cell_mesh_t *cm,
229 const cs_macfb_builder_t *macb,
230 cs_macfb_adv_scheme_t *scheme_func,
231 cs_cell_sys_t *csys,
233
234/*----------------------------------------------------------------------------*/
251/*----------------------------------------------------------------------------*/
252
254 const cs_cell_mesh_t *cm,
255 const cs_macfb_builder_t *macb,
256 cs_macfb_adv_scheme_t *scheme_func,
257 cs_cell_sys_t *csys,
259
260/*----------------------------------------------------------------------------*/
274/*----------------------------------------------------------------------------*/
275
277 const cs_macfb_builder_t *macb,
279 cs_sdm_t *adv,
280 cs_real_t *rhs);
281
282/*----------------------------------------------------------------------------*/
296/*----------------------------------------------------------------------------*/
297
299 const cs_macfb_builder_t *macb,
301 cs_sdm_t *adv,
302 cs_real_t *rhs);
303
304/*----------------------------------------------------------------------------*/
318/*----------------------------------------------------------------------------*/
319
321 const cs_macfb_builder_t *macb,
323 cs_sdm_t *adv,
324 cs_real_t *rhs);
325
326/*----------------------------------------------------------------------------*/
340/*----------------------------------------------------------------------------*/
341
343 const cs_macfb_builder_t *macb,
345 cs_sdm_t *adv,
346 cs_real_t *rhs);
347
348#endif /* CS_MACFB_ADVECTION_H */
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
void() cs_macfb_adv_scheme_t(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_cell_builder_t *cb, cs_sdm_t *adv, cs_real_t *rhs)
Define the local convection operator in MAC-Fb schemes. Case of an operator that should be assemble i...
Definition: cs_macfb_advection.h:90
void cs_macfb_advection_no_diffusion(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_macfb_adv_scheme_t *scheme_func, cs_cell_sys_t *csys, cs_cell_builder_t *cb)
Main function to build the cellwise advection operator for MAC-Fb schemes The local matrix related to...
Definition: cs_macfb_advection.cpp:242
void() cs_macfb_adv_open_hook_t(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, const cs_cell_sys_t *csys, void *input, cs_cell_builder_t *cb)
Perform preprocessing such as the computation of the advection flux at the expected location in order...
Definition: cs_macfb_advection.h:68
void cs_macfb_advection(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_macfb_adv_scheme_t *scheme_func, cs_cell_sys_t *csys, cs_cell_builder_t *cb)
Main function to build the cellwise advection operator for MAC face-based schemes....
Definition: cs_macfb_advection.cpp:314
void cs_macfb_advection_cencsv(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_cell_builder_t *cb, cs_sdm_t *adv, cs_real_t *rhs)
Compute the convection operator attached to a cell with a MAC face-based scheme.
Definition: cs_macfb_advection.cpp:618
void cs_macfb_advection_upwnoc(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_cell_builder_t *cb, cs_sdm_t *adv, cs_real_t *rhs)
Compute the convection operator attached to a cell with a MAC face-based scheme.
Definition: cs_macfb_advection.cpp:375
void cs_macfb_advection_upwcsv(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_cell_builder_t *cb, cs_sdm_t *adv, cs_real_t *rhs)
Compute the convection operator attached to a cell with a MAC face-based scheme.
Definition: cs_macfb_advection.cpp:458
void cs_macfb_advection_close_default_vect(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, const cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Operation done after the matrix related to the advection term has been defined. Follow the prototype ...
Definition: cs_macfb_advection.cpp:183
void() cs_macfb_adv_close_hook_t(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, const cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Operation done after the matrix related to the advection term has been defined.
Definition: cs_macfb_advection.h:133
void() cs_macfb_adv_build_t(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_macfb_adv_scheme_t *scheme_func, cs_cell_sys_t *csys, cs_cell_builder_t *cb)
Build the cellwise advection operator for MAC-Fb schemes The local matrix related to this operator is...
Definition: cs_macfb_advection.h:114
void cs_macfb_advection_cennoc(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, cs_cell_builder_t *cb, cs_sdm_t *adv, cs_real_t *rhs)
Compute the convection operator attached to a cell with a MAC face-based scheme.
Definition: cs_macfb_advection.cpp:537
void cs_macfb_advection_open_default(const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, const cs_cell_sys_t *csys, void *input, cs_cell_builder_t *cb)
Perform preprocessing such as the computation of the advection flux at the expected location in order...
Definition: cs_macfb_advection.cpp:126
void cs_macfb_advection_close_exp_none_vect(const cs_cell_mesh_t *cm, const cs_macfb_builder_t *macb, const cs_cell_builder_t *cb, cs_cell_sys_t *csys)
Operation done after the matrix related to the advection term has been defined. Follow the prototype ...
Definition: cs_macfb_advection.cpp:208
Set of local and temporary buffers.
Definition: cs_cdo_local.h:56
Set of local quantities and connectivities related to a mesh cell.
Definition: cs_cdo_local.h:242
Set of arrays and local (small) dense matrices related to a mesh cell This is a key structure for bui...
Definition: cs_cdo_local.h:163
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:190
Definition: cs_macfb_builder.h:50