8.3
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-2024 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
34#include "cs_advection_field.h"
35#include "cs_cdo_connect.h"
36#include "cs_cdo_local.h"
37#include "cs_cdo_quantities.h"
38#include "cs_equation_param.h"
39#include "cs_macfb_builder.h"
40#include "cs_property.h"
41
42/*----------------------------------------------------------------------------*/
43
45
46/*============================================================================
47 * Macro definitions
48 *============================================================================*/
49
50/*============================================================================
51 * Type definitions
52 *============================================================================*/
53
54/* ---------------------------------------------------------------------------
55 * Function pointers for MAC face-based schemes
56 * -------------------------------------------------------------------------- */
57
58/*----------------------------------------------------------------------------*/
70/*----------------------------------------------------------------------------*/
71
73 const cs_cell_mesh_t *cm,
74 const cs_macfb_builder_t *macb,
75 const cs_cell_sys_t *csys,
76 void *input,
78
79/*----------------------------------------------------------------------------*/
92/*----------------------------------------------------------------------------*/
93
94typedef void(cs_macfb_adv_scheme_t)(const cs_cell_mesh_t *cm,
95 const cs_macfb_builder_t *macb,
97 cs_sdm_t *adv,
98 cs_real_t *rhs);
99
100/*----------------------------------------------------------------------------*/
116/*----------------------------------------------------------------------------*/
117
119 const cs_cell_mesh_t *cm,
120 const cs_macfb_builder_t *macb,
121 cs_macfb_adv_scheme_t *scheme_func,
122 cs_cell_sys_t *csys,
124
125/*----------------------------------------------------------------------------*/
135/*----------------------------------------------------------------------------*/
136
138 const cs_macfb_builder_t *macb,
139 const cs_cell_builder_t *cb,
140 cs_cell_sys_t *csys);
141
142/*============================================================================
143 * Global variables
144 *============================================================================*/
145
146/*============================================================================
147 * Public function prototypes
148 *============================================================================*/
149
150/*----------------------------------------------------------------------------*/
164/*----------------------------------------------------------------------------*/
165
167 const cs_cell_mesh_t *cm,
168 const cs_macfb_builder_t *macb,
169 const cs_cell_sys_t *csys,
170 void *input,
172
173/*----------------------------------------------------------------------------*/
185/*----------------------------------------------------------------------------*/
186
188 const cs_macfb_builder_t *macb,
189 const cs_cell_builder_t *cb,
190 cs_cell_sys_t *csys);
191
192/*----------------------------------------------------------------------------*/
204/*----------------------------------------------------------------------------*/
205
207 const cs_macfb_builder_t *macb,
208 const cs_cell_builder_t *cb,
209 cs_cell_sys_t *csys);
210
211/*----------------------------------------------------------------------------*/
229/*----------------------------------------------------------------------------*/
230
232 const cs_cell_mesh_t *cm,
233 const cs_macfb_builder_t *macb,
234 cs_macfb_adv_scheme_t *scheme_func,
235 cs_cell_sys_t *csys,
237
238/*----------------------------------------------------------------------------*/
255/*----------------------------------------------------------------------------*/
256
258 const cs_cell_mesh_t *cm,
259 const cs_macfb_builder_t *macb,
260 cs_macfb_adv_scheme_t *scheme_func,
261 cs_cell_sys_t *csys,
263
264/*----------------------------------------------------------------------------*/
278/*----------------------------------------------------------------------------*/
279
281 const cs_macfb_builder_t *macb,
283 cs_sdm_t *adv,
284 cs_real_t *rhs);
285
286/*----------------------------------------------------------------------------*/
300/*----------------------------------------------------------------------------*/
301
303 const cs_macfb_builder_t *macb,
305 cs_sdm_t *adv,
306 cs_real_t *rhs);
307
308/*----------------------------------------------------------------------------*/
322/*----------------------------------------------------------------------------*/
323
325 const cs_macfb_builder_t *macb,
327 cs_sdm_t *adv,
328 cs_real_t *rhs);
329
330/*----------------------------------------------------------------------------*/
344/*----------------------------------------------------------------------------*/
345
347 const cs_macfb_builder_t *macb,
349 cs_sdm_t *adv,
350 cs_real_t *rhs);
351
353
354#endif /* __CS_MACFB_ADVECTION_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
#define END_C_DECLS
Definition: cs_defs.h:543
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:94
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:250
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:72
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:320
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:624
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:381
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:464
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:192
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:137
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:118
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:543
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:135
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:217
Set of local and temporary buffers.
Definition: cs_cdo_local.h:60
Set of local quantities and connectivities related to a mesh cell.
Definition: cs_cdo_local.h:203
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:147
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:192
Definition: cs_macfb_builder.h:54